def after_flush(self, session, _flush_context): ''' The log for new objects is created AFTER flush, so that e.g. primary keys are known. ''' for obj in versioned_objects(session.new): self.create_version(obj, session, new=True)
def before_flush(self, session, _flush_context, _instances): for obj in versioned_objects(session.dirty): if session.is_modified(obj): self.create_version(obj, session) for obj in versioned_objects(session.deleted): self.create_version(obj, session, deleted=True)