newformsあれこれ
djangoのnewformsをがんばった話。
駄目だった話
form = NewFromsForm()
form.fields['foo'].choices = SomeModel.objects.all() # エラーになる
form.fields['foo'].choices.queryset = SomeModel.objects.order_by('bar') # 無視される
という感じのコードは駄目らしい。
form.fileds['foo'].choices = [(1,'a')]
は動く。
Modelに対応したFormを作るとき
ForeignKeyになっているとき、 foo = ForeignKey(Somethng) となっていたら foo_id = forms.ModelChoiceField(...)としておくと __dict__.copy()で対応しているので楽。clean_dataをmodelに保存するときは foo_idに代入しないこと。fooに代入すること。

Debian QA
Facebook (taniguchi.takaki)
Twitter (@takaki_t)