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 回答