querysets = []
for date in date_range:
querysets.append(MyModel.objects.filter(date_field__range=[date, date+timedelta(days=1)]).values('date_field').annotate(total=Sum('my_field')))
for queryset in querysets:
for result in queryset:
print(result['date_field'], result['total'])
参与讨论 2
from django.db.models import Sum from datetime import datetime, timedelta
start_date = datetime(2023, 7, 15) end_date = datetime(2023, 7, 20) + timedelta(days=1)
date_range = [] current_date = start_date while current_date < end_date: date_range.append(current_date) current_date += timedelta(days=1)
querysets = [] for date in date_range: querysets.append(MyModel.objects.filter(date_field__range=[date, date+timedelta(days=1)]).values('date_field').annotate(total=Sum('my_field')))
for queryset in querysets: for result in queryset: print(result['date_field'], result['total'])