Django DRF:如何将两个不同的字段合并为一个字段

Django DRF:如何将两个不同的字段合并为一个字段,django,django-rest-framework,Django,Django Rest Framework,已经搜索了许多答案,但找不到我要查找的内容: 我有两个字段(一个是外键),它们将从序列化程序返回如下内容: [{"prodID":"SV1", "Amount":"10"}, {"prodID":"RV1", "Amount":"37"}, {"prodID":"GG2", "Amount":"22"}] 我真正想要的是(这样我就不必更改前端): 这可能与django有关吗?您可以将序列化程序的重写为\u表示形式: class SomeSerializer(serializers.Mode

已经搜索了许多答案,但找不到我要查找的内容:

我有两个字段(一个是外键),它们将从序列化程序返回如下内容:

[{"prodID":"SV1", "Amount":"10"},
 {"prodID":"RV1", "Amount":"37"},
 {"prodID":"GG2", "Amount":"22"}]
我真正想要的是(这样我就不必更改前端):


这可能与django有关吗?

您可以将序列化程序的
重写为\u表示形式:

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

我是否只在如下字段中包括
new\u result
fields=('new\u result')
?@AlfaBravo不,您只是覆盖序列化程序输出。因此,您不必在字段列表中添加内容。谢谢,现在我知道
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