私のプロジェクト (Django 1.5) では、認証を処理するアカウントと呼ばれるアプリと、すべてのプロファイル操作を処理するプロファイルと呼ばれるアプリの 2 つのアプリをセットアップしました。次の設定で、アカウント アプリのカスタム ユーザー モデルを作成しました。
class CustomUser(AbstractBaseUser):
email = models.CharField()
username = models.CharField
is_staff...
プロファイル アプリの場合:
class UserProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
city = models.CharField()
state = models....
ユーザーの作成時にプロファイルをインスタンス化したくないので、このように設定しました。最初のサインイン時に作成したい。
UserProfile の作成に役立つ modelForm を作成しようとしています。これをOneToOneFieldに保存するために、現在サインインしているユーザーを取得する方法について少し混乱しています。フォームの init メソッドと関係があることは知っていますが、ドキュメントを調べたところ、明確な解決策がわかりません。助けてください!!だから私は次のようなフォームを作成しました:
class BasicProfile(forms.ModelForm):
class Meta:
model = UserProfile
exclude = ['foo']
私の質問: フォームにユーザーを入力するにはどうすればよいですか? 私はただ使用しますか:
self.user = request.user