Hmm, používáte Count
, měli byste použít Sum
a values()
určí, co jde do GROUP BY
takže byste měli použít values('datetime')
pouze. Vaše sada dotazů by měla vypadat nějak takto:
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'))
i když si nejsem tak jistý pořadím filter()
, takže by to mohlo být toto:
values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
datetime__range=(self.dates[0], self.dates[1])
)
Myslím, že bys chtěl zkusit obojí. Pokud chcete vidět nezpracovaný dotaz této sady dotazů, použijte Queryset.query
:
print self.model.objects.filter(
datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data')).query.__str__()
Můžete se tedy ujistit, že dostanete správný dotaz.
Doufám, že to pomůže.