0

Elixir の @after_insert デコレーターを使いたいのですが、モデル内のセッションにアクセスできません。autocommit を False に設定しているため、イベント ハンドラーの変更をコミットできません。それに対処するためのベストプラクティスはありますか?

モデルの構築、データベース接続などに使用したコードは、ほとんどがドキュメントから削除されています。

望ましい方法:

class Artefact(Entity):
[...]
    @after_insert
    def make_signature(self):
        self.signature = '%s-%s' % (self.artefact_type.title.upper()[:3], self.id)

すべてのセッションの初期化は、同じディレクトリのinit .py で行われます。

次に電話すると:

Session.update(self)
Session.commit()

セッションが定義されていないというエラーが表示されます。何か案が?

4

1 に答える 1

0

セッションをインポートしましたか?

from packagename import Session

モデルファイルの先頭にあるとうまくいくはずです。Packagename はディレクトリ名です。

于 2009-04-17T10:28:56.457 に答える