2011-09-11 3 views
0

私はForeignKey to Userというモデルを持っており、値を持つ必要があります。フォームを送信するときに自動的にユーザー値を追加するにはどうすればよいですか?保存するときにユーザーを別のモデルに自動的にリンクしますか?

モデルは要求オブジェクトにアクセスできないようですので、私はそれをsave()メソッドで行うことはできません。

ありがとうございます!

+0

同様の質問は[こちら] [1]:

profile = form.save(commit=False) profile.user = request.user profile.save() 

ここドキュメントで、それにはほとんど宣伝文句です。 [1]:http://stackoverflow.com/questions/5785727/accessing-request-user-in-class-based-generic-view-createview-in-order-to-set-fk/ 7376147#7376147 – Bryan

答えて

1

フォームを送信するときに、commit=Falseを実行して、実際にオブジェクトを保存せずにオブジェクトを返すようにします。その後、ユーザーにそのユーザーを割り当てることができます。ここでは例です:https://docs.djangoproject.com/en/1.3/topics/forms/modelforms/#the-save-method

+0

私はCreateViewの一般的なビューを使用していますが、拡張せずにそれを行うことは可能ですか? – john2x

+0

私は一般的なビューを使用していないので残念ながら私はそこにあなたを助けることはできません。 –

関連する問題