我收到此错误
django.core.exceptions.FieldError: Unknown field(s) (first_name, username, last_name) specified for SystemUser
这是我的模特。我扩展了用户模型,因为我想为其添加其他字段。
class SystemUser(models.Model):
user = models.OneToOneField(User)
POSITION_CHOICES = (
('ADMIN', 'Admin'),
('SALES EMPLOYEE', 'Sales Employee'),
('INVENTORY MANAGER', 'Inventory Manager'),
('FINANCIAL OFFICER', 'Financial Officer'),
('PROJECT HEAD', 'Project Head'),
('SHIPPER', 'Shipper'),
('SUPPLIER', 'Supplier')
)
position = models.CharField(choices=POSITION_CHOICES, max_length=1)
这是我的forms.py
class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput)
class Meta:
model = SystemUser
fields = ['username', 'first_name', 'last_name', 'password', 'position']
答案 0 :(得分:4)
您SystemUser
未扩展django AbstractUser
模型,因此字段不存在:
替换
class SystemUser(models.Model)
带
from django.models import AbstractUser
class SystemUser(AbstractUser)
编辑:
Pije76在他的评论中建议使用AbstractUser
作为新用户模型的基类。