Валидация форм моделей Django в админке Django переходит в чистый метод, когда валидация модели не прошла
У меня есть класс администратора Django, определенный следующим образом:
class MyModelAdmin(admin.ModelAdmin):
form = MyForm
class MyForm(forms.ModelForm):
class Meta:
model = Task
fields = ('project', 'title', 'description', 'internal_assignees', 'task_list',
'additional_description', 'labels', 'skill_level', 'estimated_hours',
'merge_request_url', 'branch_name',)
def clean(self):
super().clean()
print(self.errors)
Предположим, что в моей модели есть обязательное поле, которое пользователь не отправляет при выполнении POST-запроса. Ожидаемое поведение в этом случае заключается в том, что Django не будет входить в мой переопределенный чистый метод. Но на самом деле это происходит. И self.errors
содержит сообщение об ошибке.
Ожидалось, что Django не перейдет к методу clean, если ни одно из требуемых полей не было отправлено, и поднимет Bad request. Я что-то неправильно понимаю? Если да, то означает ли это, что я должен проверять, есть ли обязательные поля или нет в моем чистом методе?