Как установить максимальное количество бронирований на время Если я скажу, что хочу установить каждый раз, например, в 8 утра пользователи могут бронировать максимум 10 раз.
models.py
class BookingSettings(models.Model):
# General
booking_enable = models.BooleanField(default=True)
confirmation_required = models.BooleanField(default=True)
# Date
disable_weekend = models.BooleanField(default=True)
available_booking_months = models.IntegerField(default=1, help_text="if 2, user can only book booking for next two months.")
max_booking_per_day = models.IntegerField(null=True, blank=True)
# Time
start_time = models.TimeField()
end_time = models.TimeField()
period_of_each_booking = models.CharField(max_length=3, default="30", choices=BOOKING_PERIOD, help_text="How long each booking take.")
max_booking_per_time = models.IntegerField(default=1, help_text="how much booking can be book for each time.")
views.py
from django import forms
from booking.models import BookingSettings
class BookingDateForm(ChangeInputsStyle):
date = forms.DateField(required=True)
class BookingTimeForm(ChangeInputsStyle):
time = forms.TimeField(widget=forms.HiddenInput())
class BookingCustomerForm(ChangeInputsStyle):
user_name = forms.CharField(max_length=250)
user_email = forms.EmailField()
user_mobile = forms.CharField(required=False, max_length=10)
class BookingSettingsForm(ChangeInputsStyle, forms.ModelForm):
start_time = forms.TimeField(widget=forms.TimeInput(format='%H:%M'))
end_time = forms.TimeField(widget=forms.TimeInput(format='%H:%M'))
def clean(self):
if "end_time" in self.cleaned_data and "start_time" in self.cleaned_data:
if self.cleaned_data["end_time"] <= self.cleaned_data["start_time"]:
raise forms.ValidationError(
"The end time must be later than start time."
)
return self.cleaned_data
class Meta:
model = BookingSettings
fields = "__all__"
exclude = [
# TODO: Add this fields to admin panel and fix the functions
"max_booking_per_time",
"max_booking_per_day",
]
как установить максимальное количество раз в день пользователь может заполнить слот и с чего мне нужно начать и как установить функции пользователь может заполнить до 10 раз после чего слот блокируется. спасибо
img url https://imgur.com/0LoKSvj