我正在尝试从django查询我的postgres数据库,我正在使用自定义管理命令运行cron。我有一个名为Booking
的带时间戳的模型,它在参数中创建并修改,以便我知道是否已经为该特定预订调用了cron作业。现在每小时调用一次cron作业,所以我需要做的是查询我的预订模型
s = Booking.objects.all().filter(created_at = datetime.now())
有没有办法可以为created_at指定时间范围而不是特定值,我希望我的范围是当前时间 - 1小时到当前时间。
我知道我可以检索所有对象并单独测试所有对象,我只是想知道是否有办法将其合并到Django查询中。
答案 0 :(得分:3)
经过一番研究后我发现了方法,
s = Booking.objects.all().filter(
created_at__range=[datetime.now() - timedelta(minutes=60), datetime.now()]
)
Django使用variablename_range提供了一种在查询中提供范围的功能。