Если вы хотите, чтобы это подтверждение происходило на бэкэнд, вы должны подтвердить его в форме clean
. что-то вроде этого:
class MyAdminForm(forms.ModelForm):
def clean(self):
cd = self.cleaned_data
fields = [cd['field1'], cd['field2']]
if all(fields):
raise ValidationError('Please enter one or the other, not both')
if not any(fields): #Means both are left empty
raise ValidationError('Please enter either field1 or field2, but not both')
return cd
Here is the documentation on using forms with django admin
Если вы хотите, чтобы проверка произойдут на внешнем интерфейсе, а не на форме представить, вы можете рассмотреть возможность использования яваскрипта решения для этого. Ответ на вопрос: javascript solution