如何获取 属性 of objects 时间涵盖最后一天的查询集?
How to get a query set where time property of objects cover the last day?
请接受我的歉意,我无法在标题中更好地解释这个问题。
我有如下模型:
class MyModel(models.Model):
created_time = models.DateTimeField(auto_now_add=True)
可以随时创建 object 并将该时间保存在 created_time 中。
我想过滤从昨天到现在创建的所有 object。
因此,如果我们考虑到我们现在处于 22:00,并且从昨天 22:00 到现在还有 5 object 秒,我还想要最后一个 object是昨天22:00之前创建的,也可以是一个月前创建的。
The query below not work because it omits the last object before yesterday:
from datetime import timedelta, datetime
yesterday = datetime.today() - timedelta(days=1)
objs = MyModel.objects.filter(created_time__gte=yesterday)
谁能帮我解决这个问题?
我想你需要查询数据库两次。
counts = MyModel.objects.filter(created_time__gte=yesterday).count()
objs = MyModel.objects.order_by('-created_time')[:counts+1]
请接受我的歉意,我无法在标题中更好地解释这个问题。
我有如下模型:
class MyModel(models.Model):
created_time = models.DateTimeField(auto_now_add=True)
可以随时创建 object 并将该时间保存在 created_time 中。
我想过滤从昨天到现在创建的所有 object。
因此,如果我们考虑到我们现在处于 22:00,并且从昨天 22:00 到现在还有 5 object 秒,我还想要最后一个 object是昨天22:00之前创建的,也可以是一个月前创建的。
The query below not work because it omits the last object before yesterday:
from datetime import timedelta, datetime
yesterday = datetime.today() - timedelta(days=1)
objs = MyModel.objects.filter(created_time__gte=yesterday)
谁能帮我解决这个问题?
我想你需要查询数据库两次。
counts = MyModel.objects.filter(created_time__gte=yesterday).count()
objs = MyModel.objects.order_by('-created_time')[:counts+1]