查询时在Django TimeStampedModel中指定时间间隔[重复]
Posted
技术标签:
【中文标题】查询时在Django TimeStampedModel中指定时间间隔[重复]【英文标题】:Specify time interval in Django TimeStampedModel while Querying [duplicate] 【发布时间】:2016-05-27 14:16:57 【问题描述】:我正在尝试从 django 查询我的 postgres 数据库,我正在使用自定义管理命令运行 cron。我有一个名为 Booking
的时间戳模型,它创建并修改了 at 参数,以便我知道是否已经为该特定预订调用了 cron 作业。现在 cron 作业每小时调用一次,所以我需要做的是查询我的 Booking 模型为
s = Booking.objects.all().filter(created_at = datetime.now())
有没有办法可以为 created_at 指定时间范围而不是特定值,我希望我的范围是当前时间 - 1 小时到当前时间。
我知道我可以检索所有对象并单独测试所有对象,我只是想知道是否有办法将其合并到 Django 查询中。
【问题讨论】:
什么版本的 django? 我使用的是 django 1.7 【参考方案1】:经过一番研究,我找到了方法,
s = Booking.objects.all().filter(
created_at__range=[datetime.now() - timedelta(minutes=60), datetime.now()]
)
Django 提供了一个在查询中提供范围的功能,使用变量名__range。
【讨论】:
以上是关于查询时在Django TimeStampedModel中指定时间间隔[重复]的主要内容,如果未能解决你的问题,请参考以下文章
尝试接收条带挂钩时在 Django 上获取 MultiValueDictKeyError
使用 BeautifulSoup 写入文件时在 Django 模板中保留空格
在 django 中删除 ForeignKey 时在相关模型上发出信号