Как сделать модель недоступной для определенных дат и часов в Django?
Итак, я создаю проект по аренде комнат. Аренда не на весь день, а только на 2 часа. У меня будет несколько компаний-арендаторов, каждая из которых имеет несколько комнат для аренды с разной вместимостью. Итак, мой вопрос: если комната будет арендована, скажем, 25/03/2022 20:00 (то есть она будет недоступна до 22:00, а также недоступна за 2 часа до этого), я хочу, чтобы комната все еще была видна на сайте, потому что кто-то может захотеть арендовать ее в другой день или в тот же день в другой час. Как сделать так, чтобы именно эта комната была недоступна только в этот день и в эти часы? Если я сделаю строку is_available в модели, она будет переключаться на False всякий раз, когда кто-то арендует ее, но я хочу, чтобы она была доступна во все другие дни и часы. Вот модели:
class Owner(models.Model):
name = models.CharField(max_length=100)
address = models.TextField()
phone = models.PositiveIntegerField()
class Room(models.Model):
number = models.CharField(max_length=100)
owner = models.ForeignKey(Owner, on_delete=models.CASCADE)
capacity = models.PositiveIntegerField()
is_available = models.BooleanField(default=True)
class reservation(models.Model):
room_number = models.ForeignKey(Room)
guest_name = models.CharField(max_length=200)
guests = models.PositiveIntegerField()
date_reserved = models.DateTimeField()