是否可以将.sum()多个日期范围内的 s注释为一个QuerySet
即,基本上将这些结合起来,所以每个对象都有每个日期范围的总和。
query_set_week = DailyReports.objects.filter(
date__range=('2018-08-27', '2018-08-31')) \
.select_related('profile') \
.values('profile__user_id') \
.annotate(premium=Sum('total_field'),
first_name=F('profile__user__first_name'),
last_name=F('profile__user__last_name') \
.order_by('profile__agent_code')
query_set_year = DailyReports.objects.filter(
date__range=('2018-01-01', '2018-08-31')) \
.select_related('profile') \
.values('profile__user_id') \
.annotate(premium=Sum('total_field'),
first_name=F('profile__user__first_name'),
last_name=F('profile__user__last_name') \
.order_by('profile__agent_code')
两者都单独工作,但很难循环并显示数据(例如,用户 - 周总计 - 年度总计),因为有人可能在年过滤器中得到结果,但在周过滤器中没有。
编辑:我目前能够使用.raw()大量 SQL 语句来实现我的目标,但我认为有一种更 Pythonic 的方法来做到这一点。
holdtom
慕神8447489
相关分类