Django DRF: как соединить два разных поля в одно - PullRequest
0 голосов
/ 04 июля 2018

Искал много ответов, но не смог найти то, что я ищу:

У меня есть два поля (одно является внешним ключом), которые возвращали бы что-то из сериализатора, которое выглядит так:

[{"prodID":"SV1", "Amount":"10"},
 {"prodID":"RV1", "Amount":"37"},
 {"prodID":"GG2", "Amount":"22"}]

Что бы я действительно хотел (тогда мне не нужно менять интерфейс):

[{"SV1":"10"},
 {"RV1":"37"},
 {"GG2":"22"}]

Можно ли это сделать с Джанго?

1 Ответ

0 голосов
/ 04 июля 2018

Вы можете переопределить сериализатор to_representation:

class SomeSerializer(serializers.ModelSerializer):

    class Meta:
        model = Some

    def to_representation(self, instance):
        result = super(SomeSerializer, self).to_representation(instance)
        new_result = {result['prodID']: result['Amount']}
        return new_result
...