Hmm używasz Count , powinieneś użyć Sum i values() określi, co trafi do GROUP BY więc powinieneś użyć values('datetime') tylko. Twój zestaw zapytań powinien wyglądać mniej więcej tak:
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'))
chociaż nie jestem pewien kolejności funkcji filter() , więc może to być tak:
values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
datetime__range=(self.dates[0], self.dates[1])
)
Myślę, że chciałbyś wtedy spróbować obu. Jeśli chcesz zobaczyć surowe zapytanie z tych queryset, użyj Queryset.query :
print self.model.objects.filter(
datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data')).query.__str__()
Dzięki temu możesz mieć pewność, że otrzymasz właściwe zapytanie.
Mam nadzieję, że to pomoże.