Я пытаюсь заполнить ChoiceField в FormSet информацией из предыдущего шага (немного относящейся к моему последнему заданному вопросу). Я почти там, но не могу инициализировать список:
def get_form(self, step=None, data=None, files=None):
form = super(FormWizardView, self).get_form(step, data, files)
step = step or self.steps.current
if step == 'pages':
form_class = self.form_list[step]
form1_cleaned_data = self.get_cleaned_data_for_step('agenda')
formset = PagesFormSet()
loan_choices = []
for form in formset.forms:
if form1_cleaned_data:
form.fields['agenda_select'].choices = [item for item in form1_cleaned_data.items()]
# print(form.fields['agenda_select'])
return PagesFormSet(data = data)
return super(FormWizardView, self).get_form(step, data, files)
Список просто не отображается. Тем не менее, печать в консоли работает. Если я просто возвращаю набор форм вместо PagesFormSet, список заполняется. Тем не менее, список тогда недействителен, и я не могу перейти к следующему шагу (также в случае, если я добавлю data = data
тогда. Я думаю, что я должен добавить некоторую дополнительную информацию к return PagesFormSet(data = data)
, но я просто не есть подсказка.
Мне бы очень хотелось помочь, поскольку я целый день смотрел на эту проблему. Большое спасибо!