Django models 要么参数@objname含糊不清,要么声明的@objtype错误

Django models 要么参数@objname含糊不清,要么声明的@objtype错误,django-models,sql-server-2014,django-pyodbc,Django Models,Sql Server 2014,Django Pyodbc,我正在尝试从默认的Django用户模型切换到自定义用户模型。当我尝试迁移更改时,会出现以下错误: 参数@objname不明确或声明的@objtype(列)错误 我正在使用pyodbc中的驱动程序13。如果我伪造它,迁移就会工作,但是当我尝试实际运行迁移时,会抛出上面的错误 class OUser(AbstractBaseUser): """ Our custom user model which may be extended later. """ email =

我正在尝试从默认的Django用户模型切换到自定义用户模型。当我尝试迁移更改时,会出现以下错误:

参数@objname不明确或声明的@objtype(列)错误

我正在使用pyodbc中的驱动程序13。如果我伪造它,迁移就会工作,但是当我尝试实际运行迁移时,会抛出上面的错误

class OUser(AbstractBaseUser):
    """
    Our custom user model which may be extended later.
    """
    email = models.EmailField(verbose_name='email address', max_length=255, unique=True)
    username = models.CharField(max_length=150, unique=True)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False) # a superuser
    first_name = models.CharField(max_length=100, blank=True, default='')
    last_name = models.CharField(max_length=100, blank=True, default='')
    date_joined = models.DateField(auto_now=True)
    password = models.CharField(max_length=100)

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = [] # Email & Password are required by default.

    def __str__(self):
        return self.username

    @property
    def is_staff(self):
        """Is the user a member of staff?"""
        return self.is_staff

    @property
    def is_admin(self):
        return self.is_superuser


    @property
    def is_active(self):
        return self.is_active

    objects = UserManager()

我不知道这个错误是什么原因造成的。有人知道吗?

所以有几件事:(1)我已经把上面的代码整理成几个部分。看一看。(2) 如果从Django的内部用户开始,由于实体关系,迁移到自定义用户模型非常困难。有没有可能从一个全新的Django项目开始,使用一个定制的用户模型?(3) 请包括错误的完整堆栈跟踪,以及您正在使用的Django、pyodbc和Django pyodbc(或Django pyodbc azure)的版本。谢谢另外,您使用的是哪种驱动程序?我假设你说的是pyodbc的驱动程序13,你是指pyodbc将使用的Linux版本13的Microsoft ODBC驱动程序,但实际上是来自Microsoft。感谢你对代码的评论和清理,我确实得到了这个工作/找到了一个解决方法,因为我发布了很好的工作!您可以回答自己的问题并填写详细信息。。。它可能会帮助其他人走上这条路!