Django не может смоделировать устаревшую базу данных с помощью inspectdb - PullRequest
6 голосов
/ 05 апреля 2019

У меня установлено пустое приложение 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».

1 Ответ

13 голосов
/ 09 апреля 2019

Я получил эту ошибку и обнаружил, что она была вызвана использованием psycopg2 версии 2.8 (или 2.8.1) - понижение до 2.7.7 заставило ее исчезнуть.Это на Windows 10 с Django 2.2.

Редактировать: Теперь я вижу, что в Django 2.2 исправлено поддержание psycopg2 2.8.

Редактировать (1/1/2019): Django 2.2.1 вышел сегодня с исправлением, добавляющим поддержку psycopg2 2.8.

...