Python 根据月份值进行过滤不需要';t返回对象
我的数据库中有一个Python 根据月份值进行过滤不需要';t返回对象,python,django,python-2.7,Python,Django,Python 2.7,我的数据库中有一个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
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.objects.all().filter(publish_start__month=7)
或
不返回对象 根据Django,如果使用use_TZ=True,则datetime对象将
已转换为当前时区。筛选时区感知对象需要数据库中的数据。是否确实保存了该对象?是否使用SQLite或Postgres?这可能是时区问题吗?您在设置中设置了吗?请尝试在settings.py中指定
USE_TZ=False
file@François USE_TZ设置为True,时区='亚洲/伊斯坦布尔',这是我的时区。我使用的是mysql,对象肯定会被保存。@DeuseCore OK,所以像Rahul说的那样尝试使用USE_TZ=False
。它应该会起作用。您显示的输出显示tzinfo=UTC,因此我认为您的设置存在问题。
newsItem.objects.all().filter(publish_start__month=7)
newsItem.objects.all().filter(publish_start__day=27)