在Django中过滤日期字段

时间:2015-11-19 22:50:46

标签: python django django-models

如何在Django中过滤datefield:

  • 开始范围查找以查找创建的项目加上1小时
  • 现在结束范围

范围很简单。只需要创建已经创建的图书条目,加上1小时到现在。

class Book(models.Model):
    created = models.DateTimeField(_('created'), 
    default=timezone.now)

现在有结束过滤器。如何在开始时加1小时加。\

Book.objects.filter(created__lte=datetime.datetime.now()
    )

每本书都有不同的创建日期时间。我想加1小时来创建。然后过滤。

1 个答案:

答案 0 :(得分:1)

这不是很清楚你在问什么,但这里是你如何在当前日期时间增加1小时: datetime.datetime.now() + datetime.timedelta(hours=1)

以下是一个示例,如果您搜索过去一小时内创建的图书:

import datetime
from django.utils.timezone import now

start_date = now()
end_date = start_date - datetime.timedelta(hours=1)
Book.objects.filter(created__range=(start_date, end_date))

查看datetime - Basic date and time types文档以获取更多信息