python - 如何在 Django 1.11 中查找给定月份的每周记录数?

标签 python django python-2.7 postgresql django-1.11

我需要计算给定月份每周的记录数。 我使用如下查询获得给定年份的每月计数

c = Cars.objects.filter(sold__year='2017').extra(select={'month':'extract(month from sold)'}).values('month').annotate(perMnth=Count('sold'))

如何找到给定月份的每周计数,就像“11 月”月份的周计数,如 week1=10、week2=12、week3=5 等

最佳答案

您可以使用 Extract做这个 Action

from django.db.models.functions import ExtractWeek
from django.db.models import Count

Cars.objects.annotate(
    week_num=ExtractWeek('sold')   # sets week number for each row
).values(
    'week_num'
).annotate(
    count=Count('week_num')
)

请注意 ExtractWeek 是在 django 1.11 中引入的,因此它不适用于旧版本

关于python - 如何在 Django 1.11 中查找给定月份的每周记录数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47484336/

相关文章:

python - 字符串列表时如何按第一列将二维数组排序为数字? (Python)

python - 显示共享库的所有 native 路径

python - 如何检查mako dict中是否存在某个键?

python - 奥尔德林 Hello World 问题

python - 修复 Python requests.exception.InvalidURL : Invalid percent-escape sequence 'u2' error?

python - celery.service : Failed with result 'signal'

python - 元类混合或链接?

python - Django 查菲尔德正则表达式

mysql - Django、nginx 和 uWSGI 缓存结果直到 uWSGI/MySQL 重启

围绕枚举的 Pythonic 方式