#django #django-models #routes #multi-database
#django #django-модели #маршруты #мульти-база данных
Вопрос:
Я использую разные базы данных в своем приложении django, и во время маршрутизации БД я пытаюсь получить все модели, используя
all_models = dict([(name.lower(), cls) for name, cls in app.models.__dict__.items()
if isinstance(cls, type)])
Во время выполнения миграции я получаю сообщение об ошибке «имя приложения не определено».
Это мой routers.py
from .models import *
allmodels = dict([(name.lower(), cls) for name, cls in
app.models.__dict__.items()
if isinstance(cls, type)])
class MyDBRouter(object):
def db_for_read(self, model, **hints):
""" reading model based on params """
return getattr(model.params, 'db')
def db_for_write(self, model, **hints):
""" writing model based on params """
return getattr(model.params, 'db')
def allow_migrate(self, db, app_label, model_name = None, **hints):
""" migrate to appropriate database per model """
model = allmodels.get(model_name)
return(model.params.db == db)
Settings.py
https://pastebin.com/0XdpqxkJ
Комментарии:
1. Можете ли вы показать свои
settings.py
2. какую базу данных вы используете
3. postgresql db @VishalPandey
4. Добавлено @VishalPandey settings.py pastebin.com/0XdpqxkJ
5. Можете ли вы сказать мне, в каком файле вы получаете эту ошибку