【问题标题】:validation between django inline formsetsdjango 内联表单集之间的验证
【发布时间】:2013-09-03 09:17:39
【问题描述】:

我很惊讶这个问题以前没有被问过(或者至少我没有找到它)。我有一个带有两个内联表单集的 ModelAdmin,并希望在它们之间进行交叉验证。

class PublicationGroupInlineFormSet(BaseInlineFormSet):
    def clean(self):
        # Here I validate the PublicationGroupInlineFormSet 

class PublicationGroupInline(StackedInline):
    model = PublicationGroup
    formset = PublicationGroupInlineFormSet

class PublicationProjectInlineFormSet(BaseInlineFormSet):
    def clean(self):
        # Here I validate the PublicationProjectInlineFormset 

class PublicationProjectInline(StackedInline):
    model = PublicationProject
    formset = PublicationProjectInlineFormSet

class PublicationAdmin(ModelAdmin):
    inlines = (PublicationProjectInline, PublicationGroupInline)

admin.site.register(Publication, PublicationAdmin)

问题很简单,答案未必。如何在两个表单集之间进行交叉验证?谢谢!

【问题讨论】:

    标签: django validation django-forms django-admin inline-formset


    【解决方案1】:

    幸运的是,另一个用户也有同样的需求并破解了一个解决方案https://stackoverflow.com/a/2746735

    基本上,解决方案包括从 admin.ModelAdmin 覆盖 add_view 和 change_view 以包括表单集之间的交叉验证。

    【讨论】:

      猜你喜欢
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 2023-04-09
      • 2011-06-02
      • 2010-10-27
      • 2013-11-15
      • 2014-08-17
      相关资源
      最近更新 更多