Построение формы 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) :