#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 я знаю, но я не хочу обновлять поле даты и времени каждую неделю, если у вас есть лучший вариант, пожалуйста, скажите мне