我正在尝试基于Request对象验证DRF序列化程序CharField。必须对照根据请求过滤的其他数据库值检查提供的值是否唯一。
我尝试设置to_representation方法,但是在检索数据时也可以运行。
答案 0 :(得分:0)
您在谈论这样的事情吗?
class FooSerializer(serializers.Serializer):
bar = serializers.CharField(max_length=100)
filter1 = serializers.CharField(max_length=100)
filter2 = serializers.CharField(max_length=100)
def validate(self, data):
print('bar value:', data.get('bar'))
print('filter1 value:', data.get('filter1'))
print('filter2 value:', data.get('filter2'))
# Put your conditions and queries here and raise serializers.ValidationError() if they don't match
return data
serializer = FooSerializer(data=request.data)
serializer.is_valid(raise_exception=True)