django, plusieurs bases de données, problème de configuration: « Erreur d'importation routeur de base de données »

StackOverflow https://stackoverflow.com/questions/3150931

Question

J'ai suivi ces instructions pour ensemble jusqu'à Django avec plusieurs bases de données. Il travaille comme prévu dans mon environnement de développement local (win7), cependant, quand je télécharge le projet à mon serveur en direct (de webfaction), je reçois

ImproperlyConfigured: Erreur base de données importation routeur MyCustomRouter: "Aucun module nommé path.to.my.router"

À partir du shell Django, je peux importer MyCustomRouter:

>>> from path.to.my.router import MyCustomRouter
>>>

Je suis en cours d'exécution django 1.2.1 et python2.6 tant au niveau local et sur le serveur live ...

Les conseils ce qui pourrait être la cause de ce comportement ou comment debug sont grandement appréciés!

Cheers,

Martin

Était-ce utile?

La solution

J'ai eu le même problème. J'avais défini un routeur models.py. Déplacement de la définition de la classe dans son propre fichier (j'ai appelé router.py mine) et settings.py de mise à jour en conséquence, de résoudre l'erreur.

Autres conseils

path.to.myrouter est juste un espace réservé.

Il suffit d'ajouter ce qui suit à votre fichier setting.py

DATABASE_ROUTERS = ['myapp.routers.MyApp2Router',]

renommer votre fichier routeur routers.py

Exemple:

Mes projets se compose de plusieurs applications comme « masse salariale », « fiscalité », « help desk », etc.
J'utilise 2 db ici - par défaut et prod_db

Voici comment i chemin routeur mis ,
1. Dans l'application de la paie i créé le fichier « dbrouter.py »
2. Dans dbrouter.py, i Définition d'une classe DbRouter (voir ce routeur pour le code - https://docs.djangoproject.com/en/2.1/topics/db/multi-db/ )
3. Dans settings.py, le chemin est défini
DATABASE_ROUTERS = [ 'payroll.dbrouter.DbRouter',]

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top