Мастер создания динамических форм: 'TypeError: issubclass() arg 1 must be a class'
Я пытаюсь работать с Django Form Wizard, чтобы позволить конечному пользователю вставить определенный текст (меню) в TextArea, и представить разобранные данные во второй форме для проверки/корректировки в динамическом наборе форм (на основе вставленного текста), прежде чем сохранить все в базе данных.
class MenuAddWizard(LoginRequiredMixin, SessionWizardView):
template_name = "menu_add.html"
def get_form(self, step=None, data=None, files=None):
form = super().get_form(step, data, files)
if step is None:
step = self.steps.current
if step == '1':
step_0_data = self.storage.get_step_data('0')
parsed_menu = []
for line in step_0_data['0-content'].splitlines():
(Some logic to get to parsed_menu; skipped here)
DayMenuFormSet = formset_factory(form=DayMenuForm, min_num=1, extra=0)
formset = DayMenuFormSet(initial=parsed_menu)
self.form_list[step] = formset
form = formset
return form
def done(self, form_list, **kwargs):
# This code isn't reached...
pass
Ошибка, которую я получаю:
File "C:\venv\python312\Lib\site-packages\formtools\wizard\views.py", line 297, in post
form = self.get_form(data=self.request.POST, files=self.request.FILES)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\proj\views.py", line 1547, in get_form
form = super().get_form(step, data, files)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\venv\python312\Lib\site-packages\formtools\wizard\views.py", line 424, in get_form
if issubclass(form_class, (forms.ModelForm, forms.models.BaseInlineFormSet)):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: issubclass() arg 1 must be a class
Моя проблема, похоже, связана с self.form_list[step] = formset
: если я уберу это, я больше не получу сообщение об ошибке, но я снова получу ту же страницу при отправке формы. Никаких сообщений об ошибках не появляется (и все поля заполнены).
Ни в том, ни в другом случае done()
не достигается.
Что я делаю не так?