11

私はフラスコとsqlalchemy拡張機能を使用しています。また、拡張機能のドキュメントで説明されているように、宣言型の方法を使用してモデルを記述しています。

私のモデルの1つには、新しい行が挿入、更新、または削除された後に実行する必要のあるコードがあります。私はそれをどのように行うのか疑問に思いましたか?理想的には、モデルに関数を追加するだけです。

ありがとう

4

1 に答える 1

20

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)
于 2012-09-17T14:12:31.943 に答える