我尝试创建使用默认身份验证的自定义类Employee
。我能够成功注册,但与Django的User类关联的字段存储在User
,而我的自定义字段存储在Employee
中。如何将所有内容存储在Employee
?
这是我的forms.py
:
class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput())
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email', 'password')
class EmployeeForm(forms.ModelForm):
class Meta:
model = Employee
fields = ('sales', 'hours')
我的models.py
:
class Patient(models.Model):
user = models.OneToOneField(User)
sales = models.CharField(max_length=30)
hours = models.CharField(max_length=30)
就像我说的,我更愿意使用默认身份验证,因此避免使用自定义后端
答案 0 :(得分:0)
您正在使用的内容通常称为用户个人资料,不会将添加的字段存储在同一个表格中(您已找到)。有关该信息的信息可在Extending existing user model。
中找到您想要做的事情(以及我通常需要在我的项目中使用的方法)是Substitute a custom user model。它有点复杂,但是一旦掌握了它,它就不会太糟糕了。它允许您将所有用户字段存储在一个表中,而不是存储在单独的表/模型中。