Add "commit" argument to Base model delete()
In case we want to bundle db actions into a single transaction, we can now use delete(commit=False) to prevent the transaction from being committed immediately. This is useful when e.g. deleting a User() and thousands of his MediaEntries in a single commit. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
parent
fa2f6ba162
commit
329e39034b
@ -79,11 +79,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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user