Django:日期时间查询
我有一个模型
class Booked(models.Model):
start_date_time = models.DateTimeField()
end_date_time = models.DateTimeField()
resource = models.ForeignKey(Resouce)
我该如何检查某个特定的时间范围是否没有和任何已预定的对象的开始或结束时间重叠呢?
我想确认一下,是否可以在某个时间段内,比如说用 book_start_date
和 book_end_date
来预定一个资源,而这个时间段内没有其他的预定。
1 个回答
3
使用 __lte
和 __gte
结合 exists()
方法,可以检查某个日期范围内是否有数据存在:
Booked.objects.exists(start_date_time__lte=book_end_date,
end_date_time__gte=book_start_date)
另外,您可以查看: 判断两个日期范围是否重叠。