无法使用Django\u mssql\u后端迁移到外部hos

2024-09-28 16:20:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试迁移我的django项目,并使用sqlserver2012作为数据库后端。对于连接,我使用django mssql后端。但是,尝试迁移时会发生错误

File "C:\ProgramData\Anaconda3\lib\site-packages\django\db\backends\utils.py", line 76, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\db\utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\db\backends\utils.py", line 82, in _execute
    return self.cursor.execute(sql)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django_mssql_backend-2.2.0-py3.7.egg\sql_server\pyodbc\base.py", line 536, in execute
django.db.utils.Error: ('21000', '[21000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. (512) (SQLExecDirectW); [21000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]The statement has been terminated. (3621)')

下面是我在settings.py中定义数据库的代码:

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'djangodb',
        'USER': 'user',
        'PASSWORD': 'pass',
        'HOST': '172.30.55.7',
        'PORT': '',

        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',
        },
    }
}

作为信息,数据库主机到另一个服务器,我不使用模型。 但是,如果我将数据库主机更改为“localhost”(当然,我在本地计算机中创建了相同的数据库),迁移过程就会成功

谢谢你的帮助

编辑: 我尝试迁移一个新的空白项目,但在外部主机上出现了相同的错误。但是,如果随主机迁移到本地计算机,则会成功


Tags: djangoinpy数据库executedbsqllib