django, múltiples bases de datos, problema de configuración: “Error importadores enrutador base de datos”

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

Pregunta

He seguido estas instrucciones al conjunto Django con múltiples bases de datos. Que está funcionando como se pretendía en mi entorno de desarrollo local (Windows 7), sin embargo, cuando subo el proyecto a mi servidor vivo (webfaction), consigo

ImproperlyConfigured: Error al importar la base de datos del router MyCustomRouter: "No hay ningún módulo llamado path.to.my.router"

Desde el shell Django, puedo importar MyCustomRouter:

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

Estoy corriendo Django 1.2.1 y python2.6 tanto a nivel local y en el servidor en vivo ...

¿Alguna pista de lo que podría ser la causa de este comportamiento o la forma de depuración están muy apreciada!

Saludos,

Martin

¿Fue útil?

Solución

Yo tenía el mismo problema. Había definido un router en models.py. Traslado de la definición de clase en su propio archivo (nombré router.py mío), y settings.py actualización en consecuencia, resuelve el error.

Otros consejos

path.to.myrouter es sólo un marcador de posición.

Sólo tiene que añadir lo siguiente a su archivo setting.py

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

cambiar el nombre de su archivo de enrutador routers.py

Ejemplo:

Mis proyectos consiste en múltiples aplicaciones como 'nómina', 'impuestos', 'asistencia', etc.
estoy usando 2 db aquí - por defecto y prod_db

Éste es cómo establecer la ruta de enrutador , España 1. En aplicación de nómina creé "dbrouter.py" archivo
2. En dbrouter.py, defino clase DbRouter (consulte este para el código enrutador - https://docs.djangoproject.com/en/2.1/topics/db/multi-db/ )
3. En settings.py, ruta se establece
DATABASE_ROUTERS = [ 'payroll.dbrouter.DbRouter',]

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top