Django:如何将QuerySet序列化为对象而不是数组?

时间:2019-05-03 00:07:12

标签: python django django-rest-framework

我想将QuerySet序列化为JSON对象而不是JSON数组。

对于模型Day,序列化的QuerySet应该是具有Day.date键并序列化的Day作为值的对象。

class DaySerializer(serializers.ModelSerializer):
    class Meta:
        model = Day
        exclude = []

这将返回一个序列化对象的数组:

DaySerializer(Day.objects.all(),many=True).data

{'15.02.2005':{...},
 '16.02.2005':{...},
  ...
}

我很好奇是否有某种DRF方法可以做到这一点。

1 个答案:

答案 0 :(得分:1)

AFAIK并没有现成的方法,但是您可以覆盖序列化程序的.to_representation().to_internal_value()方法来实现这一目标。

这些方法使您能够更改序列化和反序列化的完成方式。

有关详细信息,请参见here