Django数据库查询:如何按日期范围过滤对象?

问题:

我在一个模型中有一个领域

class Sample(models.Model):
    date = fields.DateField(auto_now=False)

现在,我需要通过数据范围过滤对象,例如2011年1月1日至2011年1月31日期间的所有对象?
谢谢你的帮助!

回答:

使用

Sample.objects.filter(date__range=["2011-01-01", "2011-01-31"])

或者如果你只是试图过滤一个月的智慧:

Sample.objects.filter(date__year='2011', 
                      date__month='01')

编辑

正如Bernhard Vallant所说,如果你想要一个不包括specified range ends的查询器,你应该考虑his solution,它使用gt / lt(大于/小于)。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Django database query: How to filter objects by date range?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

9 + 1 =