重命名Serializer.data中的字段

时间:2020-06-17 14:15:27

标签: django-rest-framework

我目前正在实现一个API客户端,我想为其验证使用序列化程序发送的请求。 为此,我像这样创建序列化器:

class TransactionRequestSerializer(serializers.Serializer):
    counterparty = serializers.UUIDField(required=False)
    from_datetime = serializers.DateTimeField(required=False, source='from')
    to_datetime = serializers.DateTimeField(required=False, source='to')
    transaction_type = serializers.CharField(required=False, source='type')

问题在于该来源不适合我的用法,因为当我执行serializer.data时,我得到:

{'from_datetime': '2020-07-07T16:08:00.313236+02:00'}

代替

{'from': '2020-07-07T16:08:00.313236+02:00'}

然后这些数据作为我的请求的参数传递,例如request.get('',params = params)

当然,我不能将字段“ from”命名为保留字段。关于如何从serializer.data中“获得”的任何想法吗?

2 个答案:

答案 0 :(得分:0)

我想这已经被回答了。

请查看以下问题:How to change field name in Django REST Framework

我认为相同的解决方案将为您工作。

答案 1 :(得分:0)

我认为这是不可能的,所以我改用Serializer.validated_data,以便可以使用source。

相关问题