Система бронирования назначений. Избегайте двойного бронирования

В настоящее время я пытаюсь построить систему записи на прием. Это работает отлично, однако функция не отлавливает, если такая же встреча уже была забронирована в модели.

class BookingView(FormView):
    form_class = AvailabilityForm
    template_name = "availability.html"

    def form_valid(self, form):
        data = form.cleaned_data
        bookingList = Appointment.objects.filter()
        
        for booking in bookingList:
            if booking.start > data["end_time"] or booking.end < data["start_time"]:
                booking=Appointment.objects.create(
                    name=data["name"], 
                    start=data["start_time"],
                    end=data["end_time"]
                    )
                booking.save()
                print(booking.start)
                print(data["start_time"])
                return HttpResponse("can be booked")
            else:
                print(booking.start )
                print(data["start_time"])
                return HttpResponse("Cant be booked")
Вернуться на верх