我很惊讶以前没有问过这个问题(或者至少我还没有找到)。我有一个带有两个内联表单集的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)
问题很简单,答案可能不是。如何在两种表格集之间进行交叉验证?谢谢!
答案 0 :(得分:0)
幸运的是,有另一位用户有同样的需求并且已经破解了解决方案https://stackoverflow.com/a/2746735
基本上,解决方案包括从admin.ModelAdmin覆盖add_view和change_view,以包括表单集之间的交叉验证。