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)