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.