Хм, вие използвате Count
, трябва да използвате Sum
и values()
ще определи какво влиза в GROUP BY
така че трябва да използвате values('datetime')
само. Вашият набор от заявки трябва да бъде нещо подобно:
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'))
въпреки че не съм толкова сигурен за реда на filter()
, така че може да бъде това:
values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
datetime__range=(self.dates[0], self.dates[1])
)
Предполагам, че бихте искали да опитате и двете тогава. Ако искате да видите необработената заявка на тези набори от заявки, използвайте Queryset.query
:
print self.model.objects.filter(
datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data')).query.__str__()
Така че можете да сте сигурни, че получавате правилната заявка.
Надявам се да помогне.