Сообщения об ошибках Django rest Framework. Не работает
Я новичок в Django и работаю над небольшим проектом, я хочу, чтобы сообщение об ошибке было показано, если пользователь оставил поле пустым. код, который я написал, не работает. Кто-нибудь может мне помочь?
def validate_name(school: School):
if school.name is None:
raise APIException(detail='Name is mandatory.')
class SchoolService(object):
@staticmethod
def validate_create(school: School):
validate_name(school)
В вашем классе сериализатора попробуйте добавить валидацию таким образом
from django.core.exceptions import ValidationError
def validate_name(self, value):
if value is None:
raise serializers.ValidationError('Name is mandatory')
return value
Вы можете показать больше логов о том, что происходит?
Я не уверен, но это может быть из-за исключения, которое вы бросаете. Я не думаю, что оно правильное.
Спасибо :)
Django Rest Framework предоставляет сообщения по умолчанию для таких распространенных желаемых моделей поведения.
Вам даже не нужно ничего добавлять к полю, так как поля по умолчанию required
, если вы явно не укажете required=False
Если пользователь не заполнит это поле, DRF автоматически вернет json-объект с упоминанием о том, что поле обязательно и должно быть заполнено.