寻求你的帮助,因为我自己找不到合适的答案。我在django中使用其他字段制作了自定义注册表单。为了在数据库中保存这些字段,我在模型中创建了自定义用户。它工作正常(据我所知)。但似乎auth正在使用旧的User模型。我有两个想法: 1-我需要覆盖MyUser中的某些方法。 2-我找到了一些关于在我的设置中添加AUTH_USER_MODEL变量的信息(但它调用了一些错误)
forms.py
class MyRegistrationForm(UserCreationForm):
bdate=forms.DateField(required=True)
phone=forms.CharField(required=True)
captha=CaptchaField(required=True)
class Meta:
model=MyUser
fields=('username','first_name','last_name','email','bdate','phone','password1','password2')
def save(self, commit=True):
user = super(MyRegistrationForm, self).save(commit=False)
user.bdate=self.cleaned_data['bdate']
user.phone=self.cleaned_data['phone']
if commit:
user.save()
return user
models.py
class MyUser(User):
bdate=models.DateField()
phone=models.CharField(max_length=10)
答案 0 :(得分:1)
您不应该继承User,这是一个具体的类。继承自AbstractUser。