web-dev-qa-db-ja.com

Djangoは、inspectdbでレガシーデータベースのモデル化に失敗します

現在空のGeodjangoアプリがセットアップされています-私はPostgisデータベースに接続しています---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 **

データベースへの接続は、関連するテーブル名を取得できるため、明らかに問題ないようです。そうは言っても、他のテーブルを検査しようとしているようですDjangoは、「auth_group」や「auth_group_permissions」などのデータベースに作成されています。

8
Jamie2483

このエラーが発生し、psycopg2バージョン2.8(または2.8.1)を使用したことが原因であることがわかりました。2.7.7にダウングレードすると、問題が解決しました。これはDjango 2.2。

編集:パイプラインにDjango 2.2がpsycopg2 2.8をサポートするように修正されています。

編集(2019年5月1日): Django 2.2.1がリリースされ、psycopg2 2.8のサポートが追加されました。

18
dhobbs