Tracking model changes in SQLAlchemy
I want to log every action what will be done with some SQLAlchemy-Models. So, I have a after_insert, after_delete and before_update hooks, where I will save previous and current representation of model, def keep_logs(cls): @event.listens_for(cls, 'after_delete') def after_delete_trigger(mapper, connection, target): pass @event.listens_for(cls, 'after_insert') def after_insert_trigger(mapper, connection, target): pass @event.listens_for(cls, 'before_update') def before_update_trigger(mapper, connection, target): prev = cls.query.filter_by(id=target.id).one() # comparing previous and current