Django 无法使用 inspectdb 对遗留数据库进行建模

Django fails to model legacy database with inspectdb

我目前有一个空的 Geodjango 应用程序设置 - 我已连接到我的 Postgis 数据库,其中有一个 table 命名为 aadf,我正在尝试从中创建模型。我正在使用 inspectdb 来执行此操作。

我收到以下错误消息:

from django.contrib.gis.db import models
# Unable to inspect table 'aadf'
# The error was: sequence index must be integer, not 'slice'
# Unable to inspect table 'auth_group'
# The error was: sequence index must be integer, not 'slice'
# Unable to inspect table 'auth_group_permissions'
# The error was: sequence index must be integer, not 'slice'

** This error message repeats for multiple other tables that Django has created **

与数据库的连接显然看起来很好,因为它能够获取相关的 table 名称。也就是说,它似乎也在尝试检查 Django 在数据库中创建的其他 tables,例如 'auth_group' 和 'auth_group_permissions'。

我收到这个错误,发现它是由于使用 psycopg2 版本 2.8(或 2.8.1)引起的——降级到 2.7.7 后它就消失了。这是 Windows 10 和 Django 2.2。

编辑: 我现在看到管道中有一个 Django 2.2 支持 psycopg2 2.8 的修复程序。

编辑 (5/1/2019): Django 2.2.1 今天发布,修复添加了对 psycopg2 2.8 的支持。