Как передать данные предыдущей формы в конструктор DynamicForm в FormWizard

У меня есть FormWizard, где мне нужны данные из первой формы для передачи конструктору второй формы, чтобы я мог построить динамическую форму.

Я могу получить данные первой формы с помощью process_step мастера форм.

Я создаю поля второй формы с помощью вызова базы данных списка полей.

class ConditionWizardDynamicQuestions(forms.Form):

    def __init__(self, DynamicQuestions=None, *args, **kwargs):
       super(ConditionWizardDynamicQuestions, self).__init__(*args, **kwargs)
       questions = Question.objects.filter(MYDATA = DATA_FROM_1STFORM)
       for q in questions:
            dynField = FieldFactory(q)
            self.fields[q.label] = dynField

Как я могу передать DATA_FROM_1STFORM ?


мой результирующий код: Я отказался от init формы и переключил его на CreateQuestions def. Затем использовал переопределение get_form мастера для изменения формы после создания.

class ConditionWizard(SessionFormWizard):
    def get_form(self, request, storage, step=None, data=None, files=None):
        form = super(ConditionWizard, self).get_form(request, storage, step, data, files)
        stepIndex = self.get_step_index(request, storage, step)
        if stepIndex == 1:
            form.CreateQuestions(request.session["WizardConditionId"])
        if stepIndex == 3:
            form.fields['hiddenConditionId'].initial = request.session["WizardConditionId"]
            form.fields['medicationName'].queryset = Medication.objects.filter(condition = request.session["WizardConditionId"])
        return form
12
задан BozoJoe 18 November 2010 в 06:15
поделиться