一天和一周的总用户数

Total user in a day and in a week

我想获取一天和一周内加入的用户总数,我试过如下

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

模型是用户我得到的两个查询的输出是相同的,而不是一天它也给其他查询集。如何将今天的总数和本周的总数添加到模板

<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

您不应该使用 date_joined,而是在截断后使用 dayweek,因此:

member_in_day = User.objects.exclude(is_staff=True).values(
    <b>day=</b>TruncDay('date_joined')
).annotate(
    total_members=Count('date_joined')
)<b>.order_by('-day')</b>

members_in_week相同:

member_in_week = User.objects.exclude(is_staff=True).values(
    <b>week=</b>TruncWeek('date_joined')
).annotate(
    total_members=Count('date_joined')
)<b>.order_by('-week')</b>