Как заблокировать один и тот же временной интервал несколько раз в django?

Мы создаем Django приложение, в котором хотим управлять временными интервалами таким образом, чтобы несколько пользователей могли использовать один и тот же временной интервал для заказа товара. Напротив, грузовик доставки может доставлять товар до 9 раз в день (9:30 утра, 10:30 утра, 12:30 вечера, 02:30 вечера, 04:00 вечера, 06:00 вечера, 08:00 вечера, 09:00 вечера, 12:00 утра). Если у нас есть 2 грузовика, то мы можем доставить наш продукт в 9:30 утра дважды за день.

Временные слоты для доставки на день. Заблокировать/резервировать/заказать дату удается только один раз.

Мы хотим зарезервировать наше текущее время с текущей датой, а также все даты месяца динамически.

Мы не можем заказать один и тот же тайм-слот несколько раз. Как мы можем осуществить несколько заказов в один и тот же тайм-слот?

class OrderDashboard(models.Model):
    time = models.TimeField()
    reserved = models.BooleanField(default=False)

class Reserved(models.Model):
    time = models.TimeField()
    date = models.DateField()





# @login_required()
def order_fuel(request):
    from django.db.models import Q
    date_time = OrderDashboard.objects.all()
    reservation = False
    if request.method == "POST":
        time = request.POST.get('time')
        date = request.POST.get('date')

        reserved = Reserved.objects.filter(Q(time=time) & Q(date=date))
        if reserved:
            reservation = True
            print(reservation)
            return HttpResponse('Time already reserved!')

        else:
            reserved_ins = Reserved(
                time=time,
                date=date
            )
            reserved_ins.save()
            return HttpResponse('Order confirmed')

    dict = {'date_time': date_time, 'reservation': reservation}

    return render(request, 'Uftl_App/orderfuel.html', context=dict)
Вернуться на верх