请教下django查询问题,开始时间2023-7-15 00:00:00 结束时间2023-7-20 23:59:59,查询统计出每天的数据总和,并输出这几天每天的总和

请教下django查询问题,开始时间2023-7-15 00:00:00 结束时间2023-7-20 23:59:59,查询统计出每天的数据总和,并输出这几天每天的总和

评论 1

  • 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'])

  • 其中,MyModel是Django中的模型类,date_field是存储日期的字段名,my_field是需要统计总和的字段名。请根据实际情况进行修改。这段代码将开始和结束日期之间的每一天都统计出来,并输出每一天的总和。