Как перенести список из django view в django forms?
У меня есть AppointmentCreateView, который выполняет функцию бронирования, и у меня есть hours(), который возвращает список часов, которые работник получил из своего индивидуального графика, мне нужно вернуть этот список в формы
class AppointmentCreateView(CreateView):
model = Appointment
form_class = AppointmentForm
template_name = 'appointment/booking.html'
success_url = reverse_lazy('workers')
def hours(self, pk):
worker = User.objects.get(id=pk)
schedule = Schedule.objects.get(id=worker.id)
HOUR_CHOICES = []
from_hour = schedule.from_hour
to_hour = schedule.to_hour
while from_hour <= to_hour:
HOUR_CHOICES.append(from_hour)
from_hour = time(from_hour.hour + 1, from_hour.minute)
return HOUR_CHOICES
def form_valid(self, form):
form.instance.worker = User.objects.get(pk=self.kwargs['pk'])
return super(AppointmentCreateView, self).form_valid(form)
Мне нужно, чтобы пользователь выбрал нужное время из списка, но я не знаю, как перенести этот список сюда
class AppointmentForm(forms.ModelForm):
time = forms.TimeField(widget=forms.Select(choices=HOUR_CHOICES))
class Meta:
model = Appointment
fields = ('location', 'time')
def __init__(self, *args, **kwargs):
super(AppointmentForm, self).__init__(*args, **kwargs)
self.fields['location'].empty_label = 'Select'