Bazı eylemleri SQLAlchemy-Modelleri ile ne yapacağını günlüğe kaydetmek istiyorum. YaniSQLAlchemy'de izleme modeli değişiklikleri
, bir after_insert, after_delete ve before_update ben Modelin önceki ve şimdiki temsilini kurtaracak kancaları,
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 model
MODELS_TO_LOGGING = (
User,
)
for cls in MODELS_TO_LOGGING:
keep_logs(cls)
var Ama bir sorun var: Ben before_update modeli bulmaya çalışıyorum ne zaman kanca, SQLA değiştirilmiş (kirli) sürümü döndürür. Güncellemeden önce modelin önceki sürümünü nasıl alabilirim? Model değişikliklerini korumanın farklı bir yolu var mı?
Teşekkürler!