2

フィールドがModelFormから取得されているフォームがあり、そのうちの1つは、Userモデルのユーザー名にリンクされているmodels.ForeignKeyフィールドです。これにより、データベース内のすべてのユーザーが選択フィールドにリストされます。このフィールドは、誰かがユーザー名を入力する TextInput にしたいので、ModelForm でそれを作成しました。しかし、ビューが form.is_valid() を通過すると、フォームはこのフィールドが無効であるというエラーを出します。is_valid() チェックを削除すると、もちろん、データが検証されなかったためにフォームを保存できないというエラーが表示されます。

TextInput を検証して ForeignKey フィールドに保存するにはどうすればよいですか?

4

1 に答える 1

0

ここのようにフォームのクリーンメソッドをオーバーライドしますhttps://docs.djangoproject.com/en/dev/topics/forms/modelforms/#overriding-the-clean-method

clean メソッドがテキストフィールド (空白を削除) を消去し、ユーザー名 (またはユーザー ID) の値が実際に正しいことを確認してください。

于 2012-07-25T22:01:48.343 に答える