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
。