一天和一周的总用户数

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)

Wil*_*sem 5

您不应该在截断后使用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)