You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Django连接SQL Server出错,执行makemigrations命令失败

解决Django 1.11 + SQL Server执行makemigrations报错问题

最近刚好碰到和你一模一样的场景:用Visual Studio开发,环境是Django 1.11、Python 2.7、django-mssql 1.8、pip 9.0,已经在settings里配置好SQL Server连接信息,但执行manage.py makemigrations时直接报错,报错堆栈如下:

Executing manage.py makemigrations
Traceback (most recent call last):
  File "E:\Django Projects\DjangoMSSQLDatabaseConn\DjangoMSSQLDatabaseConn\manage.py", line 17, in execute_from_command_line(sys.argv)
  File "E:\Django Project...

下面是我亲测有效的几个排查和解决方向,你可以挨个试:

  • 先确认依赖版本匹配:django-mssql 1.8确实适配Django 1.11和Python 2.7,但有时候pip安装会出小问题,先执行pip show django-mssql检查版本,不对的话就重新装指定版本:pip install django-mssql==1.8
  • 检查数据库配置格式:settings.py里的SQL Server配置得严格按规范来,别写错字段,正确格式参考:
    DATABASES = {
        'default': {
            'ENGINE': 'sqlserver_ado',  # 这里必须是sqlserver_ado,不能写错
            'NAME': '你的数据库名称',
            'USER': '数据库登录用户名',
            'PASSWORD': '登录密码',
            'HOST': '服务器地址\\实例名',  # 比如本地的localhost\\SQLEXPRESS,注意双反斜杠
            'PORT': '',  # 默认1433端口可以留空,也可以明确写1433
        }
    }
    
  • 安装对应ODBC驱动:django-mssql依赖ADO连接,必须在系统里装SQL Server的ODBC驱动,针对Python 2.7,推荐装ODBC Driver 11 for SQL Server,别装太高版本,不然兼容性会出问题
  • 清理旧迁移文件:如果之前生成过错误的迁移文件,会干扰后续操作,找到项目里每个app下的migrations文件夹,删掉里面除了__init__.py之外的所有文件,再重新执行manage.py makemigrations
  • 确认Visual Studio的环境配置:确保VS里选的是你当前用的Python 2.7环境,别不小心切到其他版本的Python了,环境不匹配会出各种奇怪的错误

内容的提问来源于stack exchange,提问作者siva narayana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:49:59