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 与收到的数据相同。

此验证仅检查有效数据并在不符合条件时引发错误。