django, несколько баз данных, проблема конфигурации: «Ошибка импорта маршрутизатора базы данных» - PullRequest
2 голосов
/ 30 июня 2010

Я следовал этим инструкциям , чтобы настроить Django с несколькими базами данных. Он работает так, как задумано в моей локальной среде разработчика (win7), однако, когда я загружаю проект на свой живой сервер (webfaction), я получаю

ImproperlyConfigured: Ошибка импорта базы данных маршрутизатора MyCustomRouter: «Не указан модуль с именем path.to.my.router»

Из оболочки Django я могу импортировать MyCustomRouter:

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

Я использую django 1.2.1 и python2.6 как локально, так и на живом сервере ...

Будем очень благодарны за любые подсказки, что может быть причиной такого поведения или как отлаживать!

Приветствия

Martin

Ответы [ 4 ]

1 голос
/ 13 июля 2011

У меня была такая же проблема. Я определил маршрутизатор в models.py. Перемещение определения класса в его собственный файл (я назвал мой router.py) и соответствующее обновление settings.py устранило ошибку.

1 голос
/ 31 января 2013

Просто добавьте следующее в файл setting.py

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

переименуйте файл роутера routers.py

1 голос
/ 30 июня 2010

path.to.myrouter это просто заполнитель.

0 голосов
/ 14 февраля 2019

Пример:

Мои проекты состоят из нескольких приложений, таких как «Заработная плата», «Налогообложение», «Служба поддержки» и т. Д.
Я здесь использую 2 дБ - по умолчанию и prod_db

Вот как я устанавливаю путь маршрутизатора ,
1. В приложении для расчета заработной платы я создал файл "dbrouter.py"
2. В dbrouter.py я определяю класс DbRouter (см. Этодля кода маршрутизатора - https://docs.djangoproject.com/en/2.1/topics/db/multi-db/)
3. В файле settings.py указывается путь
DATABASE_ROUTERS = ['payroll.dbrouter.DbRouter',]

...