Django: end_time = models.TimeField. Есть ли способ вычесть минуты из этого поля?
Я пытаюсь автоматически вычесть 60s или 1 минуту из времени окончания_времени, введенного пользователем. Есть ли способ сделать это? Я использую Django v3.2.
model.py
end_time = models.TimeField(auto_now_add=False, blank=True)
views.py
def post(self, request):
booking_form = BookingForm(data=request.POST)
if booking_form.is_valid():
booking = booking_form.save(commit=False)
booking.user = request.user
if Booking.objects.filter(
table=booking.table, date=booking.date,
start_time=booking.start_time,
approved=booking.approved is True
).exists():
return render(request, '/',)
else:
booking.save()
return render(request, '/',)
import datetime # added here
def post(self, request):
booking_form = BookingForm(data=request.POST)
if booking_form.is_valid():
booking = booking_form.save(commit=False)
booking.user = request.user
if Booking.objects.filter(
table=booking.table, date=booking.date,
start_time=booking.start_time,
end_time=booking.end_time - datetime.timedelta(seconds=60), # modified here
approved=booking.approved is True
).exists():
return render(request, '/',)
else:
booking.save()
return render(request, '/',)