无法使用扩展的用户模型

时间:2018-09-28 14:03:28

标签: django

我想在我的用户模型上添加一个部门字段。我正在使用SQL Server作为数据库。我在models.py

中做了以下操作
class Employee(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, db_column='user')
    department = models.CharField(max_length=20, blank=True)

    class Meta:
        db_table = 'Employee'

然后,使用存储过程可以轻松地填充User的所有字段,但是当我要填充多余的部门时,会出现错误

RelatedObjectDoesNotExist at /fetched

User has no employee.

在views.py中,我从过程中检索数据:

q = User(id=result_set[i][0], username=result_set[i][1], is_staff=False,
                 first_name=result_set[i][4], last_name=result_set[i][3], email=result_set[i][8])
        q.set_password(result_set[i][2])
        q.employee.department = 'something'
        q.save()

1 个答案:

答案 0 :(得分:0)

您可以将AbstractUser扩展到您的模型
在models.py

from django.contrib.auth.models import AbstractUser
class Employee(AbstractUser):
    department = models.CharField(max_length=20, blank=True)