Лучшая реализация для рабочих часов нескольких пользователей в неделю в Django

Я хотел бы понять, как лучше всего управлять рабочими часами пользователя, которые также могут быть разделены на различные временные интервалы. Например: с 8:00 до 12:00 и с 15:00 до 18. На данный момент я действовал следующим образом:

class WorkHoursDay(models.Model):
    weekday = models.CharField(choices=WEEKDAYS, max_length=255)
    from_hour = models.TimeField(choices=TIME)
    to_hour = models.TimeField(choices=TIME)
    barber = models.ForeignKey(Barber, on_delete=models.CASCADE)

    class Meta:
        ordering = ('weekday', 'from_hour')
        unique_together = (('weekday', 'barber'),('from_hour', 'to_hour'))

Список TIME разрабатывается следующим образом: [8:00, 8:05, 8:10...]. Таким образом я собираюсь управлять рабочим временем пользователей день за днем, генерируя объект для каждого дня, и я не знаю, насколько это хорошо. По мне, так это грязное программирование.

Почему бы вам просто не взять datetime.now для регистрации начала и конца?

Вы можете использовать timedelta, чтобы вычислить это.

Вернуться на верх