Django admin Взаимозависимая валидация наборов форм

у меня есть два инлайна в моделях администратора

class AdminModel(admin.ModelAdmin):
     ...
     inlines = [inline1, inline2]
     form = AdminModelForm
     model =model

class inline1(admin.TabularInline):
    form = inline1form
    model = inline1model
class inline2(admin.TabularInline):
    form = inline2form
    model = inline2model

class inline1form(forms.ModelForm):
    class Meta:
        model = inline1Edge
        fields = ("field1",)

class inline2form(forms.ModelForm):
    class Meta:
        model = inline2Edge
        fields = ("field2",)

class AdminModelForm(forms.ModelForm):
    ....

admin.site.register(model, AdminModel)

Теперь моя задача состоит в том, чтобы проверить, если в двух inline, если два поля имеют значение (одно в inline1 и другое в inline2), то показать ошибку

я пришел к решению, где при создании наборов форм я проверяю, если поле имеет vlaue, то возвращаю ответ

ие модифицированный пользовательский метод `

class AdminModel(admin.ModelAdmin):
    def _create_formsets(self, request, new_object, change):
            formsets, inline_instances = super()._create_formsets(request, new_object, change)
            if request.method == "POST":
                location_formset = None
                individual_formset_validated = all([formset.is_valid() for formset in formsets])

                if not individual_formset_validated:
                    return individual_formset_validated


                # custom check condition on formsets

                if check_fail:
                     inline1formset.non_form_errors().extend(
                    ["Please select values for only one field, field1 config or field2 config"]
                )
            return formsets, inline_instances

это работает нормально, а добавление ошибки в inline

есть ли какой-нибудь другой способ на питоне, который может помочь мне решить эту задачу?

Вернуться на верх