我的数据库中有一个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)
不会返回该对象。
答案 0 :(得分:1)
根据Django docs,如果你使用USE_TZ = True,则datetime对象将是 转换为当前时区。过滤时区感知对象需要在数据库中time zone definitions。