私はフラスコとsqlalchemy拡張機能を使用しています。また、拡張機能のドキュメントで説明されているように、宣言型の方法を使用してモデルを記述しています。
私のモデルの1つには、新しい行が挿入、更新、または削除された後に実行する必要のあるコードがあります。私はそれをどのように行うのか疑問に思いましたか?理想的には、モデルに関数を追加するだけです。
ありがとう
私はフラスコと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)