【发布时间】:2016-10-19 08:10:48
【问题描述】:
我正在尝试编写一个查询,以向我提供过去 24 小时开始的所有条目,但不超过过去 25 小时。
因此,如果执行查询的日期和时间是06.17.2016 15:00,我想查找开始日期在06.16.2016 15:00 和06.16.2016 15:59 之间的每个条目
尝试使用__range,但使用小时数似乎不起作用。甚至可以使用.filter() 做到这一点吗?
这是我的代码:
class Entry(models.Model):
startdate = models.DateTimeField()
-
start = timezone.now().date() - relativedelta(hours=+24)
end = timezone.now().date() - relativedelta(hours=+25)
list = Entry.objects.filter(startdate__gte=start, startdate__lte=end)
编辑:
list 给出一个空的查询集。
编辑 2:
relativedelta 似乎是个问题
start = timezone.now().date() - relativedelta(hours=+24, seconds=+1) 给我
datetime.datetime(2016, 6, 16, 0, 59, 59)
end = timezone.now().date() - relativedelta(hours=+25, seconds=+1) 给我
datetime.datetime(2016, 6, 15, 22, 59, 59)
如果我想让它工作,我想需要解决这个问题。
【问题讨论】:
-
你的方法有什么问题?
-
不确定是什么问题,但我尝试时只得到一个空查询集。
标签: python django django-queryset django-orm