Как правильно посчитать дату и время бронирования чтобы не выходило ошибки hour must be in 0..23
class Reservation(models.Model):
computer_club = models.ForeignKey('clubs.Club', models.CASCADE, related_name='club_reservation', null=True)
seats = models.ForeignKey('clubs.Table', models.CASCADE, related_name='seats_reservation', null=True)
owner = models.ForeignKey('users.User', on_delete=models.CASCADE, related_name='owner_reservation', null=True)
time = models.DateTimeField('Введите время бронирования')
time1 = models.DateTimeField('Время окончания бронирования', blank=True)
using_time = models.PositiveSmallIntegerField('Введите на сколько часов вы садитесь')
class Meta:
verbose_name = 'Бронирование'
verbose_name_plural = 'Бронирование'
def __str__(self):
return f'{self.seats} {self.time} {self.using_time} {self.time1} {self.owner}'
def save(self):
time = self.time
time = time.replace(hour=time.hour + self.using_time)
self.time1 = time
super(Reservation, self).save()
Ответы (1 шт):
Автор решения: Za Ars
→ Ссылка
Используйте timedelta
from datetime import timedelta
...
time += timedelta(hours=self.using_time)