django rest框架在验证后编辑数据

django rest框架在验证后编辑数据,django,validation,django-rest-framework,serialization,Django,Validation,Django Rest Framework,Serialization,我的序列化程序上有几个字段,我已经覆盖了序列化程序上的validate方法来执行一些对象级验证 问题是在验证之后,我需要在将最终数据传递给create函数之前对其进行编辑。目前,我正在这样做: class MySerializer(serializers.ModelSerializer): def validate(self, attrs): # Some lengthy validation with attrs['a'] and attrs['b'] and att

我的序列化程序上有几个字段,我已经覆盖了序列化程序上的
validate
方法来执行一些对象级验证

问题是在验证之后,我需要在将最终数据传递给create函数之前对其进行编辑。目前,我正在这样做:

class MySerializer(serializers.ModelSerializer):

    def validate(self, attrs):
        # Some lengthy validation with attrs['a'] and attrs['b'] and attrs['c']

        # if validated
        attrs['a'] = updated_a
        attrs['b'] = updated_b
        attrs['c'] = updated_c
        return attrs
必须在验证后进行更新。我想知道是否有更好的方法来处理这个问题


我可以将
字段划分为子类,并向\u internal
表示提供自定义
,但我不知道如何事先进行验证。

验证
方法不是进行此操作的最佳方法。尤其是现在在DRF3中,您可以使用
create
方法

def create(self, validated_data):
    data = validated_data.copy()
    data['a'] = 'updated value'
    return super(MySerializer, self).create(**data)

我认为在调用super时不需要执行
**data
,这可能会导致错误,应该是
data