Django 1.4とフォームセットに関して、奇妙な問題が発生しています。送信されたデータが変更されていない場合、フォームセット自体が検証に合格したとしても、フォームセットのcleaned_dataフィールドは空です。
次に例を示します。
forms.py:
class NameForm(forms.Form):
name = forms.CharField(required=False, initial='Foo')
views.py:
def welcome(request):
Formset = formset_factory(NameForm, extra=1)
if request.method == 'POST':
formset = Formset(request.POST)
print '1.Formset is valid?', formset.is_valid()
print '2.Formset', formset
print '3.Formset cleaned_data', formset.cleaned_data
else:
formset = Formset()
return render_to_response('template.html', locals())
有効であり、実際formset
にはデータが含まれていますが、フィールドの初期値を実際に変更しない限り、3行目は空の辞書のリストを出力します。
これは私には奇妙に思えますが、おそらく何か間違ったことをしています。何か助けはありますか?