Django-admin:内联表单的保存后回调

时间:2014-05-23 08:20:58

标签: python django django-admin

这是一个Django -dmin问题。 ModelAdmin 类包含内联(基本上这是User作为主管理表单,UserProfile作为其内联表单)。 我需要在保存此UserProfile内联后调用代码。

该目标是检查新保存的内联是否具有字段“something”= 1并执行我的代码。 对于用户模型,这将是 save_model(),我需要覆盖它以添加我的行。

问题: 如何在保存内联表单后调用代码? 什么是内联模型的“save_model()”?

1 个答案:

答案 0 :(得分:1)

也许您可以使用save_related()方法:

def save_related(self, request, form, formsets, change):
    """
    Given the ``HttpRequest``, the parent ``ModelForm`` instance, the
    list of inline formsets and a boolean value based on whether the
    parent is being added or changed, save the related objects to the
    database. Note that at this point save_form() and save_model() have
    already been called.
    """
    form.save_m2m()
    for formset in formsets:
        self.save_formset(request, form, formset, change=change)

您可以根据formset类在此处合并一些逻辑。 或者您可以直接使用save_formset()方法。