私はdjango.contrib.auth.models.HoweverのUserモデルに誕生日&セックスデータ列を追加し、私はdjango.contrib.auth.modelsのUserモデルにいくつかの列を追加できませんか?
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.forms import AuthenticationForm
from .models import User
class RegisterForm(UserCreationForm):
class Meta:
model = User
fields = ('username', 'email','password1','password1','birthday','sex',)
def __init__(self, *args, **kwargs):
super(RegisterForm, self).__init__(*args, **kwargs)
self.fields['username'].widget.attrs['class'] = 'form-control'
self.fields['email'].widget.attrs['class'] = 'form-control'
self.fields['password1'].widget.attrs['class'] = 'form-control'
self.fields['password2'].widget.attrs['class'] = 'form-control'
self.fields['birthday'].widget.attrs['class'] = 'form-control'
self.fields['sex'].widget.attrs['class'] = 'form-control'
ようforms.py書いて、私はコードを実行すると、django.core.exceptions.FieldErrorたいです:ユーザーエラーに対して指定された不明なフィールド(誕生日)が発生します。 はできますか?今、私は誕生日&セックスのデータ列を追加したいので、どのように私はそれを行うことができる唯一の&メール&パスワード& is_staff & last_login etc.Butをユーザ名のように、フィールド限定されている」私はDjangoのドキュメントを検索するので、私はユーザーオブジェクトの種類が見つかりました私はそれをしますか?どのように書くべきですか? は今の答えに従うことによって、私はmodels.py
from django.db import models
from django.contrib.auth.models import User
class NewUser(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
birthday = models.DateField()
sex = models.IntegerField()
を書き直した私は、エラーdjango.coreを得たbefore.But同じようにforms.py書き直しforms.py
class RegisterForm(ModelForm):
class Meta:
model = NewUser
fields = ('username', 'email','password1','password1','birthday',)
def __init__(self, *args, **kwargs):
super(RegisterForm, self).__init__(*args, **kwargs)
self.fields['username'].widget.attrs['class'] = 'form-control'
self.fields['email'].widget.attrs['class'] = 'form-control'
self.fields['password1'].widget.attrs['class'] = 'form-control'
self.fields['password2'].widget.attrs['class'] = 'form-control'
self.fields['birthday'].widget.attrs['class'] = 'form-control'
を書き直し.exceptions.FieldError:NewUserに指定されている不明なフィールド(ユーザー名、パスワード1、電子メール)。これを修正する必要がありますか?あなたのRegisterForm
で
ウルanser.Iは私の質問を更新THX、uは何かを知っていればuはウルの意図と同じようである私のコードをチェックしthx.But同じエラーhappens.Iがagain.Could私の質問を更新し、私 – user8817477
を助けてくださいコード? – user8817477
@ user8817477 'username、password1、email'これらの3つは、' NewUser'にないので 'fields'に入れてはいけません。' RegisterForm'フィールドに追加することができます。 – shellbye