Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据月份值进行过滤不需要';t返回对象_Python_Django_Python 2.7 - Fatal编程技术网

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)