Sqlalchemy flask после вставки/обновления/удаления

Я использую колбу и расширение sqlalchemy. Также я использую декларативный способ написания моделей, как описано в документации для расширения.

Для одной из моих моделей у меня есть код, который мне нужно запустить после того, как новая строка была вставлена, обновлена ​​или удалена. Мне было интересно, как это сделать? В идеале я бы просто добавил функции к модели.

Спасибо

Ответ 1

Посмотрите на SQLAlchemy События сопоставления. Вы можете привязать функцию обратного вызова к событиям after_insert, after_update и after_delete.

Пример:

from sqlalchemy import event

def after_insert_listener(mapper, connection, target):
    # 'target' is the inserted object
    print(target.id_user)

event.listen(User, 'after_insert', after_insert_listener)