Hmm stai usando Count
, dovresti usare Sum
e values()
determinerà cosa va in GROUP BY
quindi dovresti usare values('datetime')
solo. Il tuo set di query dovrebbe essere qualcosa del genere:
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'))
anche se non sono così sicuro dell'ordine del filter()
, quindi potrebbe essere questo:
values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
datetime__range=(self.dates[0], self.dates[1])
)
Immagino che vorresti provare entrambi allora. Se vuoi vedere la query grezza di quei set di query, usa Queryset.query
:
print self.model.objects.filter(
datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data')).query.__str__()
Quindi puoi assicurarti di ottenere la query giusta.
Spero che aiuti.