我有一个django模型,我想通过管理站点编辑/添加。 该模型包含一个标记列表,每个标记都包含一个分数。 (多对多关系)。
除了标签之外,我还希望模型中有另一个字段,用于在通过管理界面将模型提交到数据库时计算标记得分。
所以基本上我在提交后需要一个事件,所以我可以遍历所有的模型标签并计算得分。
是否可以以这种方式扩展管理界面?
答案 0 :(得分: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
答案 1 :(得分:0)
最好的方法是使用signals。在这种情况下,您可以使用m2m_changed signal。