我有一个模型
class Booked(models.Model):
start_date_time = models.DateTimeField()
end_date_time = models.DateTimeField()
resource = models.ForeignKey(Resouce)
如何检查特定的日期时间范围是否不在任何预订对象的开始或结束日期时间之间?
我想检查我是否可以预订资源,例如book_start_date
和book_end_date
,而在该范围内它已经被预订
使用__lte
和__gte
与exists()
检查日期范围内是否有内容:
Booked.objects.exists(start_date_time__lte=book_end_date,
end_date_time__gte=book_start_date)
请参见:确定两个日期范围是否重叠。