Django, Несколько баз данных, выпуск конфигурации: «Ошибка импорта маршрутизатора базы данных»

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

Вопрос

Я следовал Эти инструкции Чтобы настроить 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',

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top