13

save メソッドをオーバーライドするために必要な Django のすべてのニーズに対して、私save()は自分のモデルで使用してきました。少し余分なフレアが必要なものを探していたときに突然、誰かがsave_model()私の管理者クラスでオーバーライドすることを提案しました。

両方のドキュメントを見つけましたが、引数が異なることにすぐに気付きました。save_model()モデルが管理者から保存されたときにのみ呼び出されますか? save()モデルが保存されるたびにメソッドが呼び出されますか?

アップデート

だから、管理者から保存するときにそれを理解しました。「save」と「save_model()」の両方が呼び出されます。「save_model()」が最初に呼び出されるようです。私の特定のアプリケーションでは、pre_save シグナルと「save()」オーバーライドを使用しています。今私は 'save_model()'overrides を追加したいと思います。私を混乱させているのは、これらすべての保存オーバーライドとシグナルの相互作用と順序です。

4

1 に答える 1

4

As save()is a method of Modelwhile save_model()is a method of ModelAdmin... はい。

于 2012-12-20T15:35:07.150 に答える