2

我正在测试 django 项目以通过 ODBC 连接 Sql Server 数据库。

当我尝试运行我的项目时遇到一些问题

安装的组件是:python 2.7 django 1.10.2 django-pyodbc 0.4.4

第一个错误是

文件“C:\Python27\lib\site-packages\django_pyodbc\introspection.py”,第 90 行,在 get_table_list 返回 [TableInfo(row[0].lower(), row[1]) for row in cursor.fetchall( )] NameError: 全局名称 'TableInfo' 未定义

我试图纠正 ..\django-pyodbc\introspective.py 与

尝试:从 django.db.backends.base.introspection 导入(BaseDatabaseIntrospection,FieldInfo,TableInfo,)

代替

尝试:从 django.db.backends.base.introspection 导入 BaseDatabaseIntrospection

但我有第二个错误

文件“C:\Python27\lib\site-packages\django\db\backends\base\base.py”,第 604 行,在 schema_editor 'The SchemaEditorClass attribute of this database wrapper is still None') NotImplementedError: The SchemaEditorClass attribute of这个数据库包装器仍然是 None

我不知道该怎么做。

4

2 回答 2

3

那里有几个版本,django-pyodbc听起来您正在使用一个已过时且不支持 Django 1.10 的版本。目前似乎维护得最好的是django-pyodbc-azure,您可以使用它进行安装pip install django-pyodbc-azure。我成功地django-pyodbc-azure与 Django 1.10 和pyodbc3.0.10 一起使用。

更多细节:

https://github.com/michiya/django-pyodbc-azure

如果你想知道(我在使用它之前),它支持 SQL Server 和 Azure。您不必使用 Azure,就其本身而言。祝你好运!

于 2016-10-10T20:52:38.910 回答
0

请使用pip install "django-pyodbc-azure<1.11"以便您可以使用您的 django 版本(<1.11)并按照页面中的说明进行操作:

https://pypi.python.org/pypi/django-pyodbc-azure

于 2017-10-24T22:28:18.057 回答