django + DATABASE_ROUTERS (РЕШЕНО)

Уважаемые Арчеводы!
Помогите!!!

Задача следующая:
Есть django 1.9.8, python 3.5.2, mariadb 10.1.16

В СУБД есть несколько баз. В проекте django подразумевается несколько приложений, по одной БД на приложение. Документация django говорит, что необходимо прописать все БД в настройках проекта, создать модуль-роутер и добавить его в список DATABASE_ROUTERS
Собственно, всё это и сделано...

settings.py

...
DATABASES = {
  'default': { ... },
  'calend': { ... },
}

DATABASE_ROUTERS = [os.path.join (BASE_DIR, 'routers/calend.py')]

Сам модуль-роутер "просто слизан" с документации, только имя БД заменено. При этом:
python manage.py migrate
Traceback (most recent call last
...
ImportError: No module named '/data/git/django_project/routers/calend'
$ ls -l /data/git/django_project/routers/calend.py
-rwxr-xr-x 1 ksusha users 875 авг 16 00:01 /data/git/django_project/routers/calend.py

Почему модуль не импортируется? Путь верный, модуль есть... В файле settings.py пробовал и ручками весь путь вбить, и .py убирать, и относительный путь указывать, но результат не меняется...
Арчеводы вам тут не помогут, они собственный форум не обновят никак :(

Используйте оригинальную документацию, а не перевод, там ясно сказано, что имеется в виду питоновский путь, а не путь по файловой системе:
Finally, in the settings file, we add the following (substituting path.to. with the actual Python path to the module(s) where the routers are defined):
https://docs.djangoproject.com/en/1.10/topics/db/multi-db/
В вашем случае это, видимо
routers.calend.Класс_роутера
Правда, не очень понятно, почему у вас файл с роутерами не в папке проекта лежит, рядом с settings.py
Спасибо, lampslave

Исправил
DATABASE_ROUTERS = ['router.calend.CalendRouter']
и всё заработало.
 
Зарегистрироваться или войдите чтобы оставить сообщение.