diff --git a/oml/item/models.py b/oml/item/models.py index 2314916..d14c7f7 100644 --- a/oml/item/models.py +++ b/oml/item/models.py @@ -221,9 +221,9 @@ class Item(db.Model): state.db.session.commit() def delete(self, commit=True): - state.db.session.delete(self) Sort.query.filter_by(item_id=self.id).delete() Transfer.query.filter_by(item_id=self.id).delete() + state.db.session.delete(self) if commit: state.db.session.commit() diff --git a/oml/nodes.py b/oml/nodes.py index 02f38b8..c0364a1 100644 --- a/oml/nodes.py +++ b/oml/nodes.py @@ -141,8 +141,10 @@ class Node(Thread): except urllib2.HTTPError as e: if e.code == 403: logger.debug('REMOTE ENDED PEERING') - if self.user.peered: - self.user.update_peering(False) + with db.session(): + u = self.user + if u.peered: + u.update_peering(False) self.online = False return logger.debug('urllib2.HTTPError %s %s', e, e.code)