好的,所以我有一個有效的formset。但給了我一個錯誤在於,形成有沒有屬性cleaned_data ..formset有效,但表單沒有屬性cleared_data!
老實說,我完全不知道發生了什麼事..
我想我的終端代碼,並返回一個空字典..沒有錯誤..
形式:
class Clinical(forms.Form):
_names = list(ClinicalForm.objects.values_list('form_id', 'form_name'))
_names.append(("New", u'Nova entrada'))
cliform_name = forms.ChoiceField(widget=RadioSelect(), choices=_names, label
="", required=True)
觀點:
ClinicalSet = formset_factory(Clinical, extra=2)
formset2 = ClinicalSet(request.POST)
if formset2.is_valid():
choice1 = formset2.cleaned_data
return render_to_response('valid_test.html',
{
'formset2': formset2,
'wrongs1': wrongs1,
'choice1': choice1
})
else:
formset2 = ClinicalSet()
return render_to_response('valid_test.html',
{
'formset2': formset2,
'wrongs1': wrongs1,
})
模板:
<form method="post" action="">
<div>
{{ formset2.management_form }}
{% for form in formset2.forms %}
{{ form }}
{% endfor %}
<input type="submit" value="save" />
</div>
如果我評論在cleaned_data被稱爲(選擇1)行,我沒有收到任何錯誤,我能看到的形式..
如果我選擇一些選項和去掉這一行,它的工作原理..
我有一個類似的formset:both forms in formset need to be selected和這一個工程..
其工作原理是在第一表單集(上面鏈接)的形式。崗位參數:
form-0-pres_name 1
form-1-pres_name 2
form-INITIAL_FORMS 0
form-TOTAL_FORMS 2
用戶選擇每個窗體一個選項,他重定向到另一個觀點(這一個 - formset2)。
任何幫助都更受歡迎..
什麼Django的版本是你使用?這應該在1.3中修復:https://code.djangoproject.com/ticket/11418 – 2011-05-12 15:28:52
humm我正在使用1.1。 BUt我已經有一個formset工作。非常像這一個,但裏面的數據是不同的 – pavid 2011-05-12 15:30:30
在看到@Mark Lavin提到的票據後,我會說這是一個相當安全的賭注,這是你的問題。我無法說出你的其他formset的工作原理或方式,但你應該修改你的代碼,通過'hasattr'檢查'cleaned_data'的存在並作出相應的響應。 – 2011-05-12 16:13:14