Hmm, je gebruikt Count
, moet u Sum
. gebruiken , en values()
bepaalt wat er in GROUP BY
. gaat dus je moet values('datetime')
. gebruiken enkel en alleen. Uw queryset zou er ongeveer zo uit moeten zien:
from django.db.models import Sum
values = self.model.objects.filter(
datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data'))
hoewel ik niet zo zeker ben over de volgorde van de filter()
, dus het zou dit kunnen zijn:
values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
datetime__range=(self.dates[0], self.dates[1])
)
Ik denk dat je dan beide wilt proberen. Als u de onbewerkte query van die queryset wilt zien, gebruikt u Queryset.query
:
print self.model.objects.filter(
datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data')).query.__str__()
Zodat u zeker weet dat u de juiste vraag krijgt.
Ik hoop dat het helpt.