RSS

newformsあれこれ

djangoのnewformsをがんばった話。

    付与されたタグ:
  • Django

駄目だった話

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に代入すること。