J'ai une application Django avec la version 1.6.5
, j'essaie de la mettre à niveau vers 1.8
, mais j'ai obtenu l'erreur ci-dessous juste après que la version de Django ait été augmentée à 1.8
There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.
Code
INSTALLED_APPS = [
'Django_messages',
'avatar',
'tinymce',
'south',
'tracking',
......
]
DATABASES = {
'default': {
'ENGINE': 'Django.db.backends.postgresql_psycopg2',
'Host': '127.0.0.1',
'NAME': 'xxxxxx',
'USER': 'xxxxxx',
'PASSWORD': 'xxxxxx',
},
}
Alors quel était le problème et que fallait-il faire pour résoudre ce problème?
J'ai même essayé avec le paramètre ci-dessous et la même erreur s'est produite lors de l'exécution du serveur local Django
SOUTH_DATABASE_ADAPTERS = {
'default': "south.db. postgresql_psycopg2"
}
La solution que j'ai trouvée au problème ci-dessus consistait simplement à supprimer le sud de l'environnement virtuel en dehors de tous les changements mentionnés ci-dessus.
Vous faites probablement encore référence au Sud avec une importation quelque part.
Juste:
pip uninstall south
Ensuite:
python manage.py runserver
Et résolvez les erreurs d'importation.
Depuis Django 1.7, les migrations font partie du framework. Au lieu d'utiliser Sud, vous souhaiterez probablement migrer vers Django.db.migrations .
De manière générale, vous devriez toujours lire les notes de publication (pour les versions 1.7 et 1.8) lorsque vous effectuez une telle mise à jour.
Django avec la version> = 1.7 utilise la migration intégrée. Vous n'avez pas besoin d'utiliser le sud.
Pour plus de détails sur le framework de migration Django, vous pouvez vous reporter à la note de publication - https://docs.djangoproject.com/fr/1.9/releases/1.7/#schema-migrations
Django docs - https://docs.djangoproject.com/fr/1.8/topics/migrations/
Upgading from South - https://docs.djangoproject.com/fr/1.8/topics/migrations/#upgrading-from-south
Si vous utilisez Django <1.7, vous devriez également installer South> = 1.0.1 si ce n’est déjà fait. Ceci n’est pas considéré comme une dépendance pour les utilisateurs qui utilisent Django> = 1,7 et n’en ont pas besoin.