【问题标题】:Django rest Framework error messages. Does not workDjango 休息框架错误消息。不工作
【发布时间】:2022-01-11 17:39:42
【问题描述】:
我是 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)
【问题讨论】:
标签:
python
django
django-models
error-handling
【解决方案1】:
Django Rest Framework 为这些常见的行为提供默认消息。
您甚至不需要在字段中添加任何内容,因为字段默认为 required,除非您明确指定 required=False
如果用户没有填写该字段,DRF 将自动返回一个 json 对象,说明该字段是必填的,应该填写。
see docs
【解决方案2】:
在您的序列化程序类中尝试以这种方式添加验证
from django.core.exceptions import ValidationError
def validate_name(self, value):
if value is None:
raise serializers.ValidationError('Name is mandatory')
return value