1

管理サイトから編集/追加したいdjangoモデルがあります。モデルには、それぞれがスコアを保持するタグのリストが含まれています。(多対多の関係)。

タグに加えて、管理インターフェースを介してモデルをデータベースにコミットするときにタグスコアを計算する別のフィールドをモデルに含めたいと思います。

したがって、基本的には、コミット後にイベントが必要になります。これにより、すべてのモデルタグを調べて、スコアを計算できます。

このような方法で管理インターフェースを拡張することは可能ですか?

4

2 に答える 2

1

ModelAdmin.save_formsetメインモデルと m2m リレーションの両方が保存された後に呼び出されるため、おそらくオーバーライドするのが最善の策です。

class MyModelAdmin(admin.ModelAdmin):
    def save_formset(self, *args, **kwargs):
        super(MyModelAdmin, self).save_formset(*args, **kwargs)
        # do your calculation here
于 2012-06-01T12:53:49.157 に答える
0

最良の方法は、シグナルを使用することです。この場合、 m2m_changed シグナルを使用できます。

于 2012-06-01T12:52:32.917 に答える