如何使用Django

时间:2018-06-24 10:27:25

标签: sql-server django python-3.x visual-studio-2017

我正在努力使用Django连接到本地MsSQL服务器。它说当我执行命令“ makemigrations”时:

  

django.core.exceptions.ImproperlyConfigured:'sqlserver_ado'不是可用的数据库后端。   尝试使用“ django.db.backends.XXX”,其中XXX是以下之一:       'mysql','oracle','postgresql','sqlite3'

我的设置:

DATABASES = {
'default': {
    'NAME': 'TestDB',
    'ENGINE': 'sqlserver_ado',
    'HOST': 'STEPAN',
    'USER': '',
    'PASSWORD': '',
}

}

在此解决方案中:Setting up django-mssql issues我发现我的'sqlserver_ado'应该在相同的文件夹'site-packages'中,它是(Python IDLE shell):

>>> import sqlserver_ado
>>> sqlserver_ado
<module 'sqlserver_ado' from 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\lib\\site-packages\\sqlserver_ado\\__init__.py'>
>>> import django
>>> django
<module 'django' from 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\lib\\site-packages\\django\\__init__.py'>

我安装了PyWin32,并且可以在IDLE中导入(即使路径也可以),但是仍然收到此错误消息。

有什么想法或建议吗?

规格:Win10,Python 3.6,Visual Studio 2017,django-mssql 1.8,django 2.0.6,MsSQL(开发人员),并且存在此数据库(使用flask我可以毫无问题地连接到本地服务器[只是为了比较我在另一个烧瓶项目中的连接字符串:

SQLALCHEMY_DATABASE_URI = "mssql+pyodbc:///?odbc_connect={}".format(urllib.parse.quote_plus(
    "DRIVER={SQL Server};Server=STEPAN;Database=TestDB;Trusted_Connection=yes;"))

]),项目是由Visual Studio自动创建的,抛出此错误的命令:

python manage.py makemigrations

1 个答案:

答案 0 :(得分:0)

回复旧帖子,但 - 以防对其他人有帮助:

我发现,在某些情况下,您还需要指定 SQL Server 驱动程序版本:

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': '<dbNAME_HERE',
        'HOST': '<SERVERNAME_HERE>\SQLEXPRESS',
        
        'OPTIONS': {
            'driver': 'ODBC Driver 17 for SQL Server',
        }        
    }
}

这是针对 DJANGO 项目的,但问题可能类似...