按月过滤DateTimeField,而未将USE_TZ设为False

时间:2019-02-05 11:16:21

标签: python django

我想按年和月筛选日期时间字段pub_date。但是由于设置中的USE_TZ =True,Django无法按月份进行过滤。如果我应该从查询中删除月份并仅输入年份,那么它将起作用。并且,如果我将USE_TZ设置为False,则下面的查询将起作用。

现在,如何在不将USE_TZ设置为False的情况下按月过滤?

zc = TxHistory.objects.filter(pub_date__year=datetime.today().year, pub_date__month=2)

我使用的是Django 2.1和Python 3.6。

1 个答案:

答案 0 :(得分:0)

如此处回答:Django - query (month/day) filter only works when USE_TZ = False

这很可能是因为您settings.py中设置的TIME_ZONE与服务器/数据库时区不同。确保它们都使用相同的类型(例如'UTC'),然后重试此查询。