Hmm, você está usando
Count
, você deve usar Sum
, e values()
irá determinar o que vai para GROUP BY
então você deve usar values('datetime')
só. Seu queryset deve ser algo assim: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'))
embora eu não tenha tanta certeza sobre a ordem do
filter()
, então pode ser isso:values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
datetime__range=(self.dates[0], self.dates[1])
)
Acho que você gostaria de tentar os dois então. Se você quiser ver a consulta bruta desse conjunto de consultas, use
Queryset.query
:print self.model.objects.filter(
datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data')).query.__str__()
Assim, você pode ter certeza de obter a consulta certa.
Espero que ajude.