Hmm, estás usando Count
, debe usar Sum
y values()
determinará lo que entra en GROUP BY
entonces deberías usar values('datetime')
solamente. Su conjunto de consultas debería ser algo como esto:
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'))
aunque no estoy tan seguro del orden del filter()
, entonces podría ser esto:
values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
datetime__range=(self.dates[0], self.dates[1])
)
Supongo que querrás probar ambos entonces. Si desea ver la consulta sin procesar de esos conjuntos 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__()
Para que pueda asegurarse de obtener la consulta correcta.
Espero que ayude.