django, mehrere Datenbanken, Konfigurationsproblem: „Fehler beim Importieren der Datenbank-Router“

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

Frage

Ich habe diese Anweisungen Set Django mit mehreren Datenbanken. Es funktioniert wie in meinem lokalen Dev-Umgebung (win7) beabsichtigt jedoch, wenn ich das Projekt zu meinem Live-Server (Webfaction) laden, erhalte ich

ImproperlyConfigured: Fehler beim Importieren der Datenbank-Router MyCustomRouter: "Kein Modul namens path.to.my.router"

Von dem Django-Shell, ich kann MyCustomRouter importieren:

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

Ich bin mit django 1.2.1 und python2.6 sowohl lokal als auch auf Live-Server ...

Für Hinweise, was dieses Verhalten verursachen könnte oder wie man debug werden sehr geschätzt werden!

Cheers,

Martin

War es hilfreich?

Lösung

Ich hatte das gleiche Problem. Ich hatte einen Router in models.py definiert. Das Verschieben der Klassendefinition in eine eigene Datei (ich meine router.py genannt), und die Aktualisierung settings.py entsprechend, wird der Fehler behoben.

Andere Tipps

path.to.myrouter ist nur ein Platzhalter.

Fügen Sie einfach die folgende auf Ihre setting.py Datei

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

benennen Sie die Routerdatei routers.py

Beispiel:

besteht Meine Projekte von mehreren Anwendungen wie 'Lohnsumme', 'Steuern', 'Helpdesk' usw.
Ich bin mit 2 db hier - default und prod_db

Dies ist, wie i-Router Pfad gesetzt ,
1. Abrechnungs App erstellt i "dbrouter.py" Datei
2. In dbrouter.py, i DbRouter Klasse (siehe dies für Router Code definieren - https://docs.djangoproject.com/en/2.1/topics/db/multi-db/ )
3. In settings.py wird Pfad
DATABASE_ROUTERS gesetzt = [ 'payroll.dbrouter.DbRouter']

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top