Hmm Anda menggunakan Count
, Anda harus menggunakan Sum
, dan values()
akan menentukan apa yang masuk ke GROUP BY
jadi Anda harus menggunakan values('datetime')
hanya. Set kueri Anda harus seperti ini:
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'))
meskipun saya tidak begitu yakin tentang urutan filter()
, jadi bisa jadi ini:
values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
datetime__range=(self.dates[0], self.dates[1])
)
Saya kira Anda ingin mencoba keduanya. Jika Anda ingin melihat kueri mentah dari kumpulan kueri tersebut, gunakan Queryset.query
:
print self.model.objects.filter(
datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data')).query.__str__()
Jadi, Anda dapat memastikan bahwa Anda mendapatkan kueri yang tepat.
Semoga membantu.