【问题标题】:Django Query same week last year去年同一周的 Django Query
【发布时间】:2017-10-17 20:08:02
【问题描述】:

我需要逐年比较同一周(等日历)中的事件总和。

class MyModel(models.Model):
    date = models.DateTime(...
    hits = models.IntegerField(...

我使用以下变量对去年、上个月、去年同月、去年同一天进行了排序:

same_month_last_year = MyModel.objects.filter(date__month = (datetime.datetime.now().month), date__year = (datetime.datetime.now() - relativedelta(years = 1)).year).aggregate(total=Sum('hits')['total']

我没有看到等效的“星期”功能。我可以在等式的右侧使用 .isocalendar()[1] ,但这对左侧没有帮助。有任何想法吗?谢谢。

【问题讨论】:

    标签: django django-models django-views


    【解决方案1】:

    Django 1.11 添加了week filter。可以用吗?

    如果没有,您也许可以查看源代码并挑选它。

    作为最后的手段,您可以使用 Python 计算去年同一周的日期范围,然后将这些日期作为过滤器传递给 Django 查询。

    【讨论】:

    • 完美解决方案。
    猜你喜欢
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    相关资源
    最近更新 更多