Переименовать поле в Serializer.data - PullRequest
0 голосов
/ 17 июня 2020

В настоящее время я реализую клиент 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'}

Эти данные затем передаются в качестве параметров для моего запроса, например, requests.get ('', params = params)

Конечно, я не могу назвать поле " от "как зарезервировано. Любая идея о том, как я могу получить "от" в моем serializer.data?

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Думаю, это невозможно, поэтому я переключился на Serializer.validated_data вместо этого, чтобы использовать исходный код.

0 голосов
/ 17 июня 2020

Я думаю, на это уже был дан ответ.

Пожалуйста, взгляните на этот вопрос: Как изменить имя поля в Django REST Framework

Я думаю то же решение будет работать и для вас.

...