この問題は非常に奇妙で、私は誰かが私を助けることを望んでいます。議論のために、私はBookモデルとForeignKeyの関係を持つAuthorモデルを持っています。私が著者を表示するとき、その著者に関連する書籍のみを表示するChoiceFieldを持っていたいと思います。したがって、私はAuthorFormをオーバーライドします。 ()メソッドを作成し、著者IDに基づいて書籍をフィルタするクエリに基づいて、選択肢リスト(タプル)を作成します。タプルは、書籍IDと書籍名(すなわち、(1、 'Moby Dick'))の複合体である。これらの「選択肢」は、ModelFormの選択肢属性に割り当てられます。ModelFormでの不思議な動作と保存
テンプレートでフォームがレンダリングされると、ChoiceFieldが正しく表示され、その著者に関連付けられた書籍のみがリストされます。
これは物事が奇妙になる場所です。
フォームを保存すると、ValueErrorが返されます(「u'1 ':Author.book」はBookインスタンスでなければなりません)。このエラーはFKの関係で意味があります。コードに "print"ステートメントを追加し、それ以外の変更を加えずにレコードを保存すると、それはうまくいきます。ValueErrorが魔法のように消えてしまいます。毎回作品
誰もがあなたが間違って何をしているか
はあなたが何を印刷しているの?コードを表示できますか? –