Django 2 django.core.exceptions.AppRegistryNotReady:模型尚未加载

时间:2018-03-21 07:22:56

标签: python django django-channels django-2.0

我目前有一个运行Django == 2.0的django应用程序。

之前我没有遇到过这个问题,但昨天当我运行一些代码时出现了错误

from home.models import Notification
ImportError: cannot import name 'Notification'

这是来自meetings/models.py,这是一个与mange.py

同级别的应用

我的应用注册如下

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'home', 
    'meetings', 
]

如果我简单地导入主页然后将其打印出来,我会看到

<module 'home' from '<relative_path>/home/__init__.py'>

但如果我尝试这样的话

from django.apps import apps print(apps.get_models())

我收到错误django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

之后,我尝试通过python manage.py shell测试同样的事情,我得到了完全不同的结果。

apps.get_models()返回了我期望看到的所有模型以及数据库中的模型。

>>> apps.get_app_config('home').models['notification']返回<class 'home.models.Notification'>

我试图找出为什么我无法在会议模型中导入通知以及为什么我在shell中运行这些命令时会得到不同的结果。

我还有django频道和存储作为已安装的应用。

0 个答案:

没有答案