Django聚合不返回任何值

时间:2017-02-26 19:08:53

标签: django django-models django-rest-framework

我有一个观点:

class ExpenseDateFilterTotal(APIView):
    def post(self, request, format=None):
        queryset =  Expenses.objects.all().aggregate(total=Sum('day'))
        return HttpResponse(queryset, content_type="application/json")

从网址访​​问:

url(r'^expenses_date_filter_total/$', expenses.ExpenseDateFilterTotal.as_view()),

我期待响应等于:

{"total":234}

但我得到的只是:

total

我是django的新手,我在https://docs.djangoproject.com/en/1.10/topics/db/aggregation/阅读了api文档。 count()函数运行正常。但总和/平均/最大等不是。

1 个答案:

答案 0 :(得分:2)

查询集的一切都很好 - 您只需返回错误的Response对象。在使用DRF时,请阅读this docsthis tutorial以获取更多信息。

from rest_framework.response import Response

class ExpenseDateFilterTotal(APIView):
    def post(self, request, format=None):
        queryset =  Expenses.objects.all().aggregate(total=Sum('day'))
        return Response(queryset, content_type="application/json")