DRF 验证器修改请求的数据
DRF validator to modify requested data
来自这个序列化程序:
class SerializerExample(serializers.Serializer):
attr = serializers.CharField()
def validate(self, test_validate):
attr = test_validate['attribute']
if attr == 'whatever':
test_validate['attribute'] = 'check 1'
else:
test_validate['attribute'] = 'check 2'
return test_validate
现在,这在端点中使用:
@swagger_auto_schema(query_serializer=SerializerExample)
def create(self, request):
return request_data
所以,我的问题是,是否会使用经过验证的方法进行修改request.data?
好的,不,它不会修改数据。
而且,另一方面,如果可以的话,你不应该这样做,因为官方文档说你必须 returns 与收到的数据相同。
此验证仅检查有效数据并在不符合条件时引发错误。
来自这个序列化程序:
class SerializerExample(serializers.Serializer):
attr = serializers.CharField()
def validate(self, test_validate):
attr = test_validate['attribute']
if attr == 'whatever':
test_validate['attribute'] = 'check 1'
else:
test_validate['attribute'] = 'check 2'
return test_validate
现在,这在端点中使用:
@swagger_auto_schema(query_serializer=SerializerExample)
def create(self, request):
return request_data
所以,我的问题是,是否会使用经过验证的方法进行修改request.data?
好的,不,它不会修改数据。 而且,另一方面,如果可以的话,你不应该这样做,因为官方文档说你必须 returns 与收到的数据相同。
此验证仅检查有效数据并在不符合条件时引发错误。