假设我有一个我要验证/清理的字段。对于我知道我会使用的领域,我通常会这样做。
def validate_number(self, value):
if value == 7:
raise serializers.ValidationError('7 is bad!')
if value == 5:
return None # I want 5 to come back as None
return value
假设我不确定验证中有哪些字段,我在validate()中查看这些字段,我将如何实现同样的行为?
def validate(self, data):
if data['number'] == 7:
raise serializers.ValidationError('7 is bad!')
if data['number'] == 5:
data['number'] = None
return data
我能否在.create / .update方法中将其作为validated_data访问?
答案 0 :(得分:0)
你应该用词典提出ValidationError
:
raise serializers.ValidationError({'number': '7 is bad!'})
然后,验证的返回值将作为validated_data
传递,is_valid()
为True
后您将有权访问。