我想使用默认的Django数据库'user'为我的项目创建一个数据库,我发现Django有一个主键username和一些字段是不需要的,如果我能添加更多的字段到现有的DB 'user',那将是伟大的…
我想使用电子邮件登录,而不是用户名和更改一些字段为必需的。另外,我可以添加"地址"one_answers"手机"字段吗?
我用的是Django 3.5.2
我已经尝试使用以下方法添加新字段,但仍然无法找到更改主键和必填字段的方法
forms.py→
class CustomerUserForm(forms.ModelForm):
class Meta:
model=User #django default model
fields=['first_name','last_name','password','email','username']
widgets = {
'password': forms.PasswordInput()
}
class CustomerForm(forms.ModelForm):
class Meta:
model= models.CRegistration
fields=['address','mobile','profile_pic']
models.py→
class CRegistration(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
profile_pic = models.ImageField(upload_to='profile_pic/CustomerProfilePic/', null=True, blank=True)
address = models.CharField(max_length=100)
mobile = models.CharField(max_length=20) #null=True
status = models.BooleanField(default=False)
你可以在django中自定义用户表。您还可以使用email
进行身份验证。这是下面的链接,这篇文章解释了你到底需要什么。更多信息请参考django文档
使用email认证的Django自定义用户