Hmm du bruger Count
, skal du bruge Sum
, og values()
bestemmer, hvad der skal ind i GROUP BY
så du bør bruge values('datetime')
kun. Dit forespørgselssæt skal være noget som dette:
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'))
selvom jeg ikke er så sikker på rækkefølgen af filter()
, så det kunne være dette:
values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
datetime__range=(self.dates[0], self.dates[1])
)
Så vil du vel prøve begge dele. Hvis du vil se den rå forespørgsel for disse forespørgselssæt, skal du bruge Queryset.query
:
print self.model.objects.filter(
datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data')).query.__str__()
Så du kan sikre dig, at du får den rigtige forespørgsel.
Håber det hjælper.