Ich habe einen FormWizard, wo ich Daten aus dem ersten Formular an den Konstruktor des zweiten Formulars übergeben muss, damit ich ein dynamisches Formular erstellen kann.Wie Sie vorherige Formulardaten an den Konstruktor einer DynamicForm in FormWizard übergeben
Ich kann die Daten des ersten Formulars über den Process_step des FormWizard abrufen.
Ich erstelle die Felder der zweiten Form mit einem Datenbankaufruf der Liste der Felder.
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
Wie kann ich übergehen die DATA_FROM_1STFORM?
meines resultierenden Code: gab ich die die Form init, und schaltete es auf jeden Fall zu den CreateQuestions. Dann nutzte der Assistent get_form override, um das Formular nach der Erstellung zu ändern.
Ich stehe auf ein Problem beim Weiterleiten von Daten von Schritt 1 zu Schritt 3, aber Ihre Lösung ist hilfreich und aufschlussreich. – BozoJoe
Mit welchem Problem stößt du? AFAIK sollte es Ihnen Zugriff auf alle Daten aus allen vorherigen Formularen ermöglichen - das heißt, Schritt 3 sollte die Daten aus Schritt 1 und Schritt 2 haben. –
mein Problem war ich versuchte, Initiale aus dem Assistenten zu verwenden und überschreiben die Formulare __drin__. Ich habe die get_form benutzt und die Welt wird klarer für mich :) – BozoJoe