无法使用django-mssql连接到django 1.11的MS SQL Server 2016



我正在尝试使用django-mssql连接到带有django 1.11的MS SQL Server 2016。以下是我的数据库设置:

DATABASE_ENGINE   = 'sqlserver_ado'
DATABASE_NAME     = 'db'
DATABASE_USER     = 'sa'
DATABASE_PASSWORD = '*********'
DATABASE_HOST     = 'localhost'

这是我在尝试运行python manage.py runserver 时遇到的错误

(mywork)C:\Users\Kaushal_K\Python Dev\producttimeline>Python manage.py runserver由启动的线程中出现未处理的异常追踪(最近一次通话):

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\utils\autoreload.py",第227行,包装器中fn(*args,**kwargs)

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\core\management\commands\runserver.py",第117行,位于inner_runautoreload.raise_last_exception()

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\utils\autoreload.py",第250行,在raise_last_exception中六、重新评估(*_exception)

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\utils\autoreload.py",第227行,包装器中fn(*args,**kwargs)

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django_init__.py",第27行,安装中apps.populate(settings.INSTALLED_apps)populate中的文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\apps\registry.py",第108行app_config.import_models()

import_models中的文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\apps\config.py",第202行self.models_module=导入模块(models_module_name)

import_module中的文件"c:\python27\Lib\importlib__init__.py",第37行导入(名称)

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\contrib\auth\models.py",第4行,位于从django.contrib.auth.base_user导入AbstractBaseUser,BaseUserManager

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\contrib\auth\base_user.py",第52行,位于类AbstractBaseUser(models.Model):

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\db\models\base.py",第124行,在newnew_class.add_to_class('_meta',Options(meta,app_label))中

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\db\models\base.py",第330行,在add_to_class中value.convente_to_class(cls,name)

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\db\models\options.py",第214行,在contribute_to_class中self.db_table=截断名称(self.db.table,connection.ops.max_name_length())

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\db_init__.py",第33行,在getattr中返回getattr(connections[DEFAULT_db_ALIAS],item)

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\db\utils.py",第212行,在getitemconn=backend中。DatabaseWrapper(数据库,别名)

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\sqlserver_ado\base.py",第184行,在initsuper(DatabaseWrapper,self)中初始化(*args,**kwargs)

文件"C:\Users\Kaushal_K\Envs\mywork\lib\site packages\django\db\backends\base\by.py",第96行,在initself.client=self.client_class(self)中

TypeError:调用元类基时出错"NoneType"对象不可调用^C

我到处找,似乎无法理解并解决问题。我希望有人能帮忙!谢谢

附言:我已经创建了数据库。

我使用了pyodbc而不是mssql,它运行得很好。以下是如何使用pyodbc的链接https://learn.microsoft.com/en-us/sql/connect/python/pyodbc/step-1-configure-development-environment-for-pyodbc-python-development

也有同样的问题。然后看了看——https://pypi.org/project/django-mssql/-"Django版本:1.8"。尝试安装它-是的,它与Django-mssql==1.8一起工作。幸运的是,出于这种特殊的需要,我可以使用Django的旧版本。

更新。现在是下一个问题-"ImportError:没有名为pythoncom的模块"。"pip-install-pywin32"也不起作用。

最新更新