gpt4 book ai didi

python - Django 按工作日分组?

转载 作者:太空狗 更新时间:2023-10-30 02:32:37 26 4
gpt4 key购买 nike

我使用的是 Django 1.5.1、Python 3.3.x,不能为此使用原始查询。

对于使用日期 __range 过滤器的 QuerySet,有没有办法获取按工作日分组的 QuerySet?我正在尝试按工作日对结果进行分组,查询范围在任意两个日期之间(可能相隔一年)。我知道如何 get rows that match a weekday ,但这需要用 7 个查询来查询数据库才能找出每个工作日的数据。

几个小时以来,我一直试图通过对 __week_day 过滤器进行不同的调整来解决这个问题,但没有任何效果。甚至谷歌搜索也无济于事,这让我想知道这是否可能。任何 Django 大师都知道怎么做,如果可能的话?

最佳答案

由于 extra 已弃用,这里有一种使用 ExtractDayOfWeek 在星期几进行分组的新方法。 .

from django.db.models.functions import ExtractWeekDay
YourObjects.objects
.annotate(weekday=ExtractWeekDay('timestamp'))
.values('weekday')
.annotate(count=Count('id'))
.values('weekday', 'count')

这将返回如下结果:

[{'weekday': 1, 'count': 534}, {'weekday': 2, 'count': 574},.......}

同样重要的是要注意 1 = 星期日和星期六 = 7

关于python - Django 按工作日分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com