2017-02-26 6 views
0

Ich habe einen Blick:Django Aggregat Rückkehr keinen Wert

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

Zugang von der url:

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

ich erwarte eine Antwort gleich:

{"total":234} 

aber alle Ich bekomme ist:

total 

Ich bin neu in Django und ich lese die API doc um https://docs.djangoproject.com/en/1.10/topics/db/aggregation/. Die count() Funktionen funktionieren einwandfrei. Aber die Summe/avg/max usw. ist nicht.

Antwort

2

Alles ist gut mit dem Abfrage-Set - Sie geben nur das falsche Response-Objekt zurück. Wenn Sie DRF verwenden, lesen Sie this docs und this tutorial für weitere Informationen.

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

oh vielen dank. Du hast mir Stunden Arbeit gerettet. –