Ich verstehe, dass Django nicht lassen Sie eine unvollständige Felder in einem einzigen Formular aus einem Modell erstellt zu speichern, wenn Sie dies tun:
tmpform = form.save(commit=False)
tmpform.foo = form.cleaned_data['foo']
tmpform.save()
Ich möchte also diese Art von Dingen mit Formularen in einem Formularsatz tun - ich versuche, durch alle Felder für jedes Formular im Formularsatz zu iterieren. Aber das Problem ist, dass ich nicht genau weiß, wie man durch alle Felder jedes Formulars im Formularsatz iterieren kann. Ich habe dies versucht:
for form in formset.forms:
for name, field in form.fields.items():
tmpform = form.save(commit=False)
tmpform.field[name] = form.cleaned_data[name] # doesn't work, I get an error
tmpform.save()
Aber ich erhalte nur die Fehlermeldung ERROR:
'FooForm' object has no attribute 'field'.
Meine Frage ist: Wie verwende ich form.save(commit=False) richtig gegeben, dass ich mehrere Felder in einem Formular mit unterschiedlichen Feldnamen haben?