我需要使用Django Rest框架序列化程序验证以下JSON:
{
"type": "profit",
"value": 7200
}我的序列化程序定义为:
class SaleSerializer(serializers.Serializer):
TYPE_CHOICES = [
'profit',
'cost',
]
type = serializers.ChoiceField(choices=TYPE_CHOICES)
value = serializers.IntegerField(validators=[MaxValueValidator(limit_value=10000), MinValueValidator(limit_value=0)], allow_null=False)但是,type是Python内置的类型之一,所以我不想将它用于我的序列化程序。例如,我如何定义我的序列化程序,以便输入JSON中的type被序列化为sale_type?例如,我想将我的序列化程序定义如下:
class SaleSerializer(serializers.Serializer):
TYPE_CHOICES = [
'profit',
'cost',
]
sale_type = serializers.ChoiceField(choices=TYPE_CHOICES)
value = serializers.IntegerField(validators=[MaxValueValidator(limit_value=10000), MinValueValidator(limit_value=0)], allow_null=False)发布于 2020-01-19 07:06:12
有用于此目的的source关键字参数。
将type = serializers.ChoiceField(choices=TYPE_CHOICES)替换为:
type = serializers.ChoiceField(source='sale_type', choices=TYPE_CHOICES)
https://stackoverflow.com/questions/59805399
复制相似问题