Я строю систему бронирования отелей. Я новичок в Django, и я любезно прошу указать, как выполнить настройку или проверку наличия свободных мест. Я спроектировал свою модель комнаты таким образом, что номер определенного типа c может иметь несколько количеств. Я хочу реализовать систему таким образом, чтобы до того, как пользователь сделает бронирование, в комнате должно быть достаточное количество, а также она будет доступна в указанную c дату, указанную пользователем. Ниже приводится код номера и модели бронирования
Модель номера
class Room(models.Model):
"""Creates room details"""
ROOM_CHOICES = (
('Single', "Single"),
('Double', "Double"),
('Family', "Family"),
('Suit', "Suit"),
)
hotel = models.ForeignKey(
Hotels, on_delete=models.CASCADE, null=True, blank=True,)
room_Type = models.CharField(
max_length=20,
choices=ROOM_CHOICES,
default='Please Select',
)
room_photo = models.ImageField(
default='default.jpg', upload_to='room_photos')
room_Name = models.CharField(max_length=200)
room_details = models.CharField(max_length=500)
room_Capacity = models.PositiveIntegerField(default=0)
slug = models.SlugField(unique=True)
room_Price = models.PositiveIntegerField(default=0)
total_Rooms = models.PositiveIntegerField(default=0)#room quantity
Модель бронирования (тележка)
class CartItems(models.Model):
cart = models.ForeignKey(
'Cart', on_delete=models.CASCADE, null=True, blank=True)
rooms = models.ForeignKey(
Room, on_delete=models.CASCADE, null=True, blank=True)
quantity = models.PositiveIntegerField(default=1)
line_total = models.DecimalField(
max_digits=1000, decimal_places=2, default=0.00)
CheckIn = models.DateField(null=True, blank=True)
CheckOut = models.DateField(null=True, blank=True)
stay_duration = models.PositiveIntegerField(default=1)
updated = models.DateTimeField(auto_now_add=False, auto_now=True)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
Таким образом, перед тем, как пользователь отправит или подтвердит бронирование, должно быть доступно количество номеров, а также продолжительность заезда и выезда. Как мне сделать эту реализацию. Любезно помочь. Заранее большое спасибо