Построение формы MultipleChoiceField на основе запроса представления с помощью Django

У меня есть таблица с именем Назначение с :

  • идентификатор таймслота ;
  • id студента;
  • идентификатор преподавателя ;
  • дата ;
  • timeslot (целое число) ;

Я хочу создать несколько строк в таблице TimeSlot на основе формы MultipleChoiceField. Но выбор таймслота на определенную дату зависит от значения в таблице. Например, если есть таймслот на определенную дату, то выбор для этого таймслота на эту дату не будет отображаться клиенту.

Вот мой код :

TIMESLOT_LIST = (
        (0, '09:00 – 09:30'),
        (1, '09:30 – 10:00'),
    )

class ChooseAvailabilities(forms.Form):
    timeslot= forms.MultipleChoiceField(
        required=False,
        widget=CheckboxSelectMultiple,
        choices=TIMESLOT_LIST
        )

class Appointment(models.Model):
    teacher = models.ForeignKey(Teacher, null = True, on_delete = models.CASCADE)
    student = models.ForeignKey(Student, null=True, blank = True, on_delete=models.CASCADE)
    date = models.DateField(null = True)
    timeslot = models.IntegerField(null = True)

В представлении я хочу вызвать форму ChooseAvailabilties с определенной датой в параметре, чтобы форма проверяла, есть ли перекрывающиеся даты или временные интервалы в таблице Appointment, чтобы не показывать временные интервалы, в которых есть перекрытия, а только доступные временные интервалы до этой даты.

Что-то вроде того, где я могу выбирать временные интервалы. Затем выбранные временные интервалы сохраняются в таблице назначений (максимум 5) :

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