你的问题集确实如此
不
返回模型对象,但字典
month
和
revenue
作为key,因此您可以序列化为:
class RevenueChartSerializer(serializers.Serializer):
month = models.IntegerField()
revenue = models.IntegerField() # or perhaps a FloatField?
然后插入此串行器:
class RevenueChartListView(ListAPIView):
queryset = (
Transactions.objects.annotate(month=ExtractMonth('date'))
.values('month')
.annotate(revenue=Sum('sale_price'))
.order_by('month')
)
serializer_class = RevenueChartSerializer
请注意,您可以将查询集简化为:
class RevenueChartListView(ListAPIView):
queryset = (
Transactions.objects.values(month=ExtractMonth('date'))
.annotate(revenue=Sum('sale_price'))
.order_by('month')
)
serializer_class = RevenueChartSerializer