python – 如何在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所说,如果你想要一个排除指定范围的查询集,你应该考虑his solution,它使用gt / lt(大于/小于).

转载注明原文:python – 如何在Django中按日期范围过滤查询对象? - 代码日志