2017-02-26 66 views
0

我有一個觀點:從URLDjango的合計不返回任何值

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()函數完美運行。但總和/平均/最大等不是。

回答

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") 
+0

哦,非常感謝你。你爲我節省了幾個小時的工作。 –