1
我想在formwizard中使用formset。Django 1.4 formwizard with formset
class Model1(models.Model):
customerid = models.CharField(max_length=20)
Name = models.CharField(max_length=40)
class Model1Form(ModelForm):
class Meta:
model = Model1
class Model2(models.Model):
product = models.CharField(max_length=100)
price = models.DecimalField(max_digits=5, decimal_places=2)
class Model2Form(forms.Form):
product = forms.ModelChoiceField(queryset=Model2.objects.all())
amount = forms.IntegerField(required=False)
Model2Formset = formsets.formset_factory(Model2Form)
在我的urls.py:
(r'^testwizard/$', TestWizard.as_view([Model1Form, Model2Formset])),
我用一个基本的观点看张贴形式的结果:
class TestWizard(SessionWizardView):
def done(self, form_list, **kwargs):
return render_to_response('template', {
'form_data': [form.cleaned_data for form in form_list],
})
当表单集有多个条目我只能看到一个条目:
{'customerid': u'7676', 'Name': u'7', 'klantnummer': u'7'} [{'product': <Model2: Bike>, 'amount': 7}]
我预计:
{'customerid': u'7676', 'Name': u'7', 'klantnummer': u'7'} [{'product': <Model2: Bike>, 'amount': 7},{'product': <Model2: Plane>, 'amount': 5}]
在文档中发现这样的:
WizardView支持ModelForms和ModelFormSets。除了initial_dict,> as_view()方法还有一个instance_dict参数,该参数应该包含> ModelForm和ModelFormSet的实例。与initial_dict类似,这些字典键值应该等于表单列表中的步骤编号。
不幸的是我不知道是什么意思在这里。
我忘了提,我使用jQuery表单集来呈现模板额外的字段。只有formset(没有formwizard)一切正常。 – 2012-07-13 18:25:35