Я новичок в python и уже несколько дней не могу решить мою простую проблему.
У меня есть модель Event , которая должна позволять пользователю забронировать временной интервал , номер и тип события , который будет показан в расписании.
class Event(models.Model):
title = models.CharField(max_length=200)
description = models.TextField()
start_time = models.DateTimeField()
end_time = models.DateTimeField()
get_date = models.DateTimeField() # set via form, has year and day
start_time_choices = [('1', '07:30'), ('2', '07:45'), ('3', '08:00'), ('4', '08:15'), ('5', '08:30')]
timeslots = models.TimeField(
choices=start_time_choices,
"%H:%M",
default='1',
null=True)
room_choices = [('1', 'Room 1'), ('2', 'Room 2'), ('3', 'Room 3'), ('4', 'Room 4'), ('5', 'Room 5')]
room = models.CharField(
choices=room_choices,
max_length=1,
default='1',
null=True)
event_choices = [('1', 'Event A'), ('2', 'Event B')] # A is 15min long, B is 30min long
events= models.CharField(
choices=event_choices,
max_length=1,
default='1',
null=True)
Теперь я хочу вычислить start_time и end_time для этого события, которое используется для представления календаря
- Куда мне добавить следующие вычисления? Непосредственно в models.py?
- Как мне правильно рассчитать дату?
# this is not a real code
@property
def date_calc(self):
start_date = get_date + timeslots # Year & Day + Hour & Min
if events == "Event A":
end_date = start_date + "00:15"
else:
end_date = end_date + "00:30"
return start_time, end_time