web-dev-qa-db-fra.com

Django ne parvient pas à modéliser la base de données héritée avec inspectdb

J'ai une application Geodjango actuellement vide - Je suis connecté à ma base de données Postgis dans laquelle j'ai une table nommée aadf que j'essaie pour créer un modèle à partir de. J'utilise inspectdb pour ce faire.

Je reçois le message d'erreur suivant:

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 **

La connexion à la base de données semble évidemment bonne car elle est capable de récupérer le nom de la table appropriée. Cela dit, il semble également essayer d'inspecter les autres tables Django a créé dans la base de données comme 'auth_group' et 'auth_group_permissions'.

8
Jamie2483

J'ai eu cette erreur et j'ai découvert qu'elle était due à l'utilisation de psycopg2 version 2.8 (ou 2.8.1) - la rétrogradation à 2.7.7 l'a fait disparaître. C'est sur Windows 10 avec Django 2.2.

Edit: Je vois maintenant qu'il y a un correctif dans le pipeline pour Django 2.2 pour supporter psycopg2 2.8.

Edit (5/1/2019): Django 2.2.1 est sorti aujourd'hui avec un correctif ajoutant la prise en charge de psycopg2 2.8.

18
dhobbs