gpt4 book ai didi

django-rest-framework 验证后编辑数据

转载 作者:行者123 更新时间:2023-12-01 22:55:38 25 4
gpt4 key购买 nike

我的序列化器上有一些字段,并且我已经重写了序列化器上的 validate 方法来执行一些对象级验证。

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

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

更新必须在验证后完成。我想知道是否有更好的方法来处理这个问题。

我可以子类化 Field 并提供自定义 to_internalto_representation 但我不知道如何事先进行验证。

最佳答案

validate 方法不是最好的地方。特别是现在在 DRF3 中,您可以使用 create 方法。

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

关于django-rest-framework 验证后编辑数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28980835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com