django检查管理员内联值

时间:2015-08-10 13:08:08

标签: django

我有以下条件:

  1. 模型A
  2. 模型B,具有类型A的外键和可以是
  3. 的整数字段

    空白。

    在管理页面中,我将模型B作为模型A的内联,我可以添加其中的许多

    一次。

    我需要检查一个B对象是否指向同一个A对象

    整数字段不为空,然后是所有指向

    的B对象

    对象的整数不为空。

    有没有办法让我这样做?

1 个答案:

答案 0 :(得分:2)

您可以自定义B模型的内联使用的formset,您可以覆盖它上面的clean()方法:

class InlineModelAdmin(BaseModelAdmin):
    ...
    formset = MyInlineFormSet
    ...

from django.forms.models import BaseInlineFormSet

class MyInlineFormSet(BaseInlineFormSet):

    def clean(self):
        super(MyInlineFormSet, self).clean()

        # Your custom validation. You can access all the forms via `self.forms`

请参阅docs和代码: