1

この質問が以前に尋ねられたことがないことに驚いています (または、少なくとも私はそれを見つけていません)。2 つのインライン フォームセットを持つ 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)

質問は簡単ですが、答えはそうではないかもしれません。両方のフォームセット間で相互検証を行うにはどうすればよいですか? ありがとう!

4

1 に答える 1

0

幸いなことに、同じニーズを持ち、ソリューションをハッキングした別のユーザーがいましたhttps://stackoverflow.com/a/2746735

基本的に、ソリューションは admin.ModelAdmin から add_view と change_view を上書きして、フォームセット間の相互検証を含めることで構成されます。

于 2013-09-02T11:34:47.553 に答える