Bij*_*iju 2 django django-orm django-queryset
我想获得一天和一周内加入的用户总数,我尝试如下
member_in_day = User.objects.exclude(is_staff=True)\
.annotate(day=TruncDay('date_joined')).values('date_joined') \
.annotate(total_members=Count('date_joined')) \
.order_by('-date_joined')
member_in_week = User.objects.exclude(is_staff=True)\
.annotate(week=TruncWeek('date_joined')).values('date_joined') \
.annotate(total_members=Count('date_joined')) \
.order_by('-date_joined')
Run Code Online (Sandbox Code Playgroud)
该模型是用户,我得到的两个查询的输出是相同的,而不是一天它也给出其他查询集。如何将今天的总计和本周的总计添加到模板中
<QuerySet [{'date_joined': datetime.datetime(2020, 12, 28, 16, 47, 40, 509134, tzinfo=<UTC>), 'total_members': 1}, {'date_joined': datetime.datetime(2020, 12, 23, 11, 8, 19, 241355, tzinfo=<UTC>), 'total_members': 1}, {'date_joined': datetime.datetime(2020, 12, 23, 11, 6, 14, 20673, tzinfo=<UTC>), 'total_members': 1}, {'date_joined': datetime.datetime(2020, 12, 22, 9, 25, 45, 14632, tzinfo=<UTC>), 'total_members': 1}, {'date_joined': datetime.datetime(2020, 12, 22, 9, 24, 25, 819750, tzinfo=<UTC>), 'total_members': 1}, {'date_joined': datetime.datetime(2020, 12, 20, 12, 7, 37, 59113, tzinfo=<UTC>), 'total_members': 1}]> members
Run Code Online (Sandbox Code Playgroud)
您不应该在截断后使用date_joined, butday或 ,因此:week
member_in_day = User.objects.exclude(is_staff=True).values(
day=TruncDay('date_joined')
).annotate(
total_members=Count('date_joined')
).order_by('-day')Run Code Online (Sandbox Code Playgroud)
与以下相同members_in_week:
member_in_week = User.objects.exclude(is_staff=True).values(
week=TruncWeek('date_joined')
).annotate(
total_members=Count('date_joined')
).order_by('-week')Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
551 次 |
| 最近记录: |