Django, Несколько баз данных, выпуск конфигурации: «Ошибка импорта маршрутизатора базы данных»
-
01-10-2019 - |
Вопрос
Я следовал Эти инструкции Чтобы настроить Django с несколькими базами данных. Это работает как предназначено в моей местной среде Dev (Win7), однако, когда я загружаю проект на мой живой сервер (WebFaction), я получаю
Незнакопированная обработка: ошибка импорта маршрутизатора базы данных mycustomroter: «Нет модуля с именем Path.to.my.rooter»
Из раковины Django я могу импортировать mycustomroter:
>>> from path.to.my.router import MyCustomRouter
>>>
Я управляю Django 1.2.1 и Python2.6 как локально, так и на живом сервере ...
Любые подсказки, что может вызвать это поведение или как отлаживать быть очень ценным!
Ваше здоровье,
Мартин
Решение
У меня такая же проблема. Я определил роутер в моделях .py. Перемещение определения класса в свой собственный файл (я назвал шахты Router.py), а обновление настроек .py соответственно разрешили ошибку.
Другие советы
path.to.myrouter
это просто заполнитель.
Просто добавьте следующее в свою настройку.
DATABASE_ROUTERS = ['myapp.routers.MyApp2Router',]
Переименуйте свой маршрутизатор маршрутизаторы .py
Пример:
Мои проекты состоят из нескольких приложений, таких как «заработная плата», «налогообложение», «HelpDesk» и т. Д.
Я использую 2 дБ здесь - по умолчанию и prod_db
Вот как я устанавливаю путь маршрутизатора,
1. В приложении Payroll I создал файл "dbrouter.py"
2. В dbroouter.py я определяю класс dbrouter (обратитесь к этому для кода маршрутизатора - https://docs.djangoproject.com/en/2.1/topics/db/multi-db/)
3. В настройках .py путь установлен
Database_roouters = ['payroll.dbroouter.dbroter',