Ошибка при получении всех имен моделей в приложении django

#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. Можете ли вы сказать мне, в каком файле вы получаете эту ошибку