2009-05-23 7 views
2

J'essaie de faire fonctionner South - ça a bien fonctionné sur mon PC, mais j'ai du mal à le déployer sur mon hébergeur.Django ne retient pas les modifications de INSTALLED_APPS dans settings.py

À l'heure actuelle, il semble que toutes les modifications que je fais pour ajouter/supprimer des éléments de INSTALLED_APPS ne sont pas prises en charge par syncdb ou diffsettings. J'ai ajouté south à ma liste de INSTALLED_APPS, mais les tables dont il a besoin ne sont pas créées lorsque je cours syncdb. Si je change d'autres paramètres, ils sont repris, il semble que INSTALLED_APPS ne fonctionne pas.

Si je lance

from south.db import db 

de la coquille que je reçois avec manage.py shell, je ne reçois pas d'erreur d'importation, donc je ne pense pas que ce soit un problème où south est. J'ai essayé de supprimer toutes mes autres applications (autres que celles de Django), et les tables pour celles-ci sont quand même créées quand je cours syncdb.

Même si je supprime complètement INSTALLED_APPS, je reçois toujours l'ancienne liste de INSTALLED_APPS lorsque j'exécute manage.py diffsettings.

Des idées de ce que j'ai mal fait?

Merci,

Dom

+0

Je me demande si tout le monde sait ce que ** Sud ** est? – muhuk

+0

Je ne sais pas non plus – vikingosegundo

+1

south est une application qui vous permet d'utiliser les migrations avec Django - voir http://south.aeracode.org/ –

Répondre

2

La réponse, il se trouve, est que je suis un crétin. Je l'avais fait ceci:

En settings.py:

... 
INSTALLED_APPS = (
    ... 
) 
... 

from localsettings import * 

Dans localsettings.py

... 
INSTALLED_APPS = (
    ... 
) 
... 

j'avais créé localsettings.py de settings.py, pour contenir les choses que pertinentes à l'emplacement actuel du projet (comme les paramètres de base de données), et j'ai oublié de supprimer la section INSTALLED_APPS. Toutes mes excuses pour avoir fait une telle chose stupide flagrante.

+1

oups !!! Je suppose que c'était la raison, la commande de gestion "migrer" était inconnue. Coz sud n'a pas été trouvé dans les applications installées. – simplyharsh

3

Si vous écrivez une migration d'une application, syncdb ne fonctionnera pas. Vous devez utiliser

manage.py migrate 

syncdb wont travail pour les applications qui sont accrochés dans la migration en utilisant au sud. Ces modifications du modèle d'applications seront remarquées uniquement en fonction de l'historique de la migration vers le sud.

South Migration Docs

+0

Cela ne fonctionne pas, car le sud n'est pas considéré comme une application installée, donc je reçois: Commande inconnue: 'migrate'. –

+0

Merci pour l'essai si - + 1ed –

Questions connexes