我有一个序列化程序,它根据其他字段的值验证字段,在错误响应中,我希望将每个字段错误显示为一个字段错误,而不是显示"NON_FIELD_ERROR"下的所有内容(如果我在对象级验证方法中引发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'
所需的错误响应为:
{'field_val1': ['this field is not valid']}