создание таблицы базы данных для расписания на неделю

#python #django

Вопрос:

Я хочу создать модель для хранения еженедельного расписания для врача, в настоящее время мой подход таков:

 class ScheduleDay(models.Model):
    doctor = models.ForeignKey(Doctor, on_delete= models.CASCADE)
    #the name of the week day
    day = models.CharField(max_length=15)
    clinic = models.ForeignKey(Clinic, on_delete=models.SET_NULL, null = True)
    start_time = models.TimeField()
    end_time = models.TimeField()
 

Это хороший дизайн?

Комментарии:

1. Это хороший способ разработать модель , документация Django также может помочь вам разобраться в различных способах проектирования ваших моделей: docs.djangoproject.com/en/3.2/topics/db/models

2. Вместо day start/end_time я бы определил datetime_start и datetime_end как DatetimeField() , чтобы вам было проще фильтровать данные по времени, когда это в конечном итоге потребуется.

3. @yedpodtrzitko день предназначен для хранения названия дня недели, а не даты

4. Вы всегда можете узнать название дня DatetimeField , но вы не можете узнать дату по названию дня. Таким образом, это более надежно в будущем, вы никогда не знаете, какое требование будет следующим.

5. @yedpodtrzitko я знаю, но я не хочу обновлять поле даты и времени каждую неделю, если у вас есть лучший вариант, пожалуйста, скажите мне