0
UserCreationForm
のdjangoを使用してサインアップページを作成しました。UserCreationFormモデルの外部キーを使用するユーザ
signup.html
class UserCreationForm(UserCreationForm):
email = EmailField(label=_("Email address"), required=True, help_text=_("Required."))
class Meta:
model = User
fields = ("username", "email", "password1", "password2")
def save(self, commit=True):
user = super(UserCreationForm, self).save(commit=False)
user.email = self.cleaned_data["email"]
if commit:
user.save()
return user
しかし、私はまたmodels.py
で他のテーブルを作成する必要があります。だから別のテーブルにある場合category
私はUserCreationForm
のこの組み込みユーザーの主キーの外部キーを作成する必要があります。これの主キーは何ですか?
models.py
class category(models.Model):
uid = models.ForeignKey(#)
cname = models.CharField(max_length=20)
def __unicode__(self):
return u"{} {}".format(self.uid, self.cname)
class Meta:
db_table = "category"
私は#の代わりに何を書きますか? User
モデルへ
は、フォームとモデルとの違いを学ぶ必要があります。
以上、場合にあなたはUserモデルをカスタマイズしたい場合があります。フォームは、基になるモデルには決して影響しません。同じモデルを使用して、複数の異なるフォームを作成してユーザーを作成できます。あなたのユーザモデルはまだ標準的なdjangoユーザなので、外部キーは 'User'モデルを指しているはずです。単に 'User'をインポートして外来キーを作るか、それ以上の方がデフォルトでDjango' User'である 'settings.AUTH_USER_MODEL'を使用しますが、カスタムユーザモデルに変更される可能性があります。 – dirkgroten
それはサー!!!!ありがとう。 – Shefali