Django FieldError:指定了未知字段

时间:2017-08-24 11:58:02

标签: python django forms

我收到此错误

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']

1 个答案:

答案 0 :(得分:4)

SystemUser未扩展django AbstractUser模型,因此字段不存在:

替换

class SystemUser(models.Model)

from django.models import AbstractUser
class SystemUser(AbstractUser)

编辑: Pije76在他的评论中建议使用AbstractUser作为新用户模型的基类。