Jkk*_*nah 33 django serializer django-rest-framework
我有一个序列化程序,根据其他字段的值验证字段,在错误响应中,我想将每个字段错误显示为字段错误,而不是显示"non_field_errors"下的所有内容,如果我要提高的话会发生什么对象级验证方法中的ValidationError.下面是我想要实现的目标的说明:
MySerializer(ModelSerializer):
...
def validate(self, data):
field_val1 = data['field_val1']
field_val2 = data['field_val2']
if not self._is_field_valid(field_val1, field_val2):
# The below line is how I would do what I want with Django
# Forms, however, it's not valid in DRF
self._errors['field_val1'] = 'this field is not valid'
Run Code Online (Sandbox Code Playgroud)
所需的错误响应是:
{'field_val1': ['this field is not valid']}
Run Code Online (Sandbox Code Playgroud)
Jkk*_*nah 53
我想通了,在"BaseSerializer"部分的文档的这一页上,有一个示例显示ValidationError可以在初始化时获取字典参数.
如果我raise ValidationError({'field_val1': ['this field is not valid']})
得到了我想要的JSON响应.
归档时间: |
|
查看次数: |
10869 次 |
最近记录: |