aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/sql/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/db/sql/base.py')
-rw-r--r--mediagoblin/db/sql/base.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/mediagoblin/db/sql/base.py b/mediagoblin/db/sql/base.py
index 838080b0..ca0c8166 100644
--- a/mediagoblin/db/sql/base.py
+++ b/mediagoblin/db/sql/base.py
@@ -51,12 +51,18 @@ class GMGTableBase(object):
query = Session.query_property()
@classmethod
- def find(cls, query_dict={}):
+ def find(cls, query_dict=None):
+ if query_dict is None:
+ query_dict = {}
+
_fix_query_dict(query_dict)
return cls.query.filter_by(**query_dict)
@classmethod
- def find_one(cls, query_dict={}):
+ def find_one(cls, query_dict=None):
+ if query_dict is None:
+ query_dict = {}
+
_fix_query_dict(query_dict)
return cls.query.filter_by(**query_dict).first()
@@ -79,11 +85,13 @@ class GMGTableBase(object):
sess.add(self)
sess.commit()
- def delete(self):
+ def delete(self, commit=True):
+ """Delete the object and commit the change immediately by default"""
sess = object_session(self)
assert sess is not None, "Not going to delete detached %r" % self
sess.delete(self)
- sess.commit()
+ if commit:
+ sess.commit()
Base = declarative_base(cls=GMGTableBase)