过滤月份值不会返回对象

时间:2015-07-27 12:12:18

标签: python django python-2.7

我的数据库中有一个newsItem对象。我想根据年和月值过滤我的newsItem个对象。首先,这是我的模型:

class newsItem(models.Model):
    mainTitle = models.CharField(max_length=500)
    publish_start = models.DateTimeField()

当我在shell上调用此对象时,输出为:

In[15]: nItem[0].publish_start
Out[15]: datetime.datetime(2015, 7, 27, 10, 57, 50, tzinfo=<UTC>)

问题是,当我根据月份过滤我的newsItem对象时,我无法获得此对象。但过滤年份工作正常。

newsItem.objects.all().filter(publish_start__year=2015)

返回对象但

newsItem.objects.all().filter(publish_start__month=7)

newsItem.objects.all().filter(publish_start__day=27)

不会返回该对象。

1 个答案:

答案 0 :(得分:1)

根据Django docs,如果你使用USE_TZ = True,则datetime对象将是 转换为当前时区。过滤时区感知对象需要在数据库中time zone definitions