Правильно составлять базу данных назначений с указанием свободных временных интервалов
Моя цель - создать систему назначений на Django, способную создавать встречи между преподавателями и студентами с возможностью для преподавателей выбирать свои свободные места, а для студентов выбирать временные интервалы в зависимости от свободных мест преподавателей.
Есть 2 класса :
Один - класс с доступностью учителя: внешний ключ - учитель, а также дата, время начала и время окончания
Один - назначение класса с 2 внешними ключами для ученика и учителя
EDIT: Вот модели :
class Appointment(models.Model):
student = models.ForeignKey('Student', null=True, on_delete=models.CASCADE)
staff = models.ForeignKey('Staff', null=True, on_delete=models.CASCADE)
date = models.DateField(null = True)
timeslot = models.IntegerField(null = True, choices=TIMESLOT_LIST)
@property
def time(self):
return self.TIMESLOT_LIST[self.timeslot][1]
is_completed = models.BooleanField(default=False)
is_confirmed =models.BooleanField(default=False)
class AppointmentAvailability(models.Model):
staff = models.ForeignKey('Staff', null = True, on_delete = models.CASCADE)
date = models.DateField(null = True)
timeslot = models.IntegerField(null = True, choices=TIMESLOT_LIST)
Но как теперь снять доступность временного интервала в доступности класса учителя, чтобы не позволить студенту назначить встречу в то же время?