2017-08-31 86 views
0

我为我的项目使用django 1.11.2。 我已经定义了一些模型和所有工作的权利。Django过滤日期时间元素

现在我需要根据日期从我的一个模型中获取一些数据。例如具有一个月= 8,一个月= 9 ....

我有这样,为MyModel(....某些字段....,CREATED_DATE)和models.py我有所有条目:

.... 
created_date=models.DateTimeField() 
.... 
.... 
self.created_date=(datetime.now()) 
.... 

Created_date是一个日期时间字段,其值为以下格式:YYYY-MM-DD HH:MM:SS,例如2017-08-31 14:25:58。

所以,我看到:https://docs.djangoproject.com/en/1.11/ref/models/querysets/#month

,这将是完美的我,但不起作用。

从壳我写这篇文章:

>>> from project.models import MyModel 
>>> from datetime import * 
>>> MyModel.objects.all() ---> Work ok, I get all entries 
>>> MyModel.objects.filter(created_date__month=8) 
<QuerySet []> 

在这种情况下,我得到一个空Quertset。

+1

它的工作原理。你有7个月没有记录。 –

+0

没有对不起,是一个例子,我有很多记录与蛾6,7和8,并没有工作 – max

+0

打印你的日期时间,并检查它是哪个月 – Vladyslav

回答

-1

您可能可能需要如果它被设置为Truetimezone启用设置USE_TZFalsesettings.py文件

USE_TZ = False 

,那么__month查找将无法正常工作

+0

是的,谢谢!现在工作,祝你有个美好的一天:D – max