我将我的项目迁移到1.9版本,并且在尝试执行时告诉我:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 324, in execute
django.setup()
File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/prueba/djcode/spid/preventivos/__init__.py", line 6, in <module>
from django.contrib.auth.models import User
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/models.py", line 4, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/base_user.py", line 49, in <module>
class AbstractBaseUser(models.Model):
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 94, in __new__
app_config = apps.get_containing_app_config(module)
File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 239, in get_containing_app_config
self.check_apps_ready()
File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
答案 0 :(得分:1)
自Django&lt; 1.9。从Django 1.6升级到1.9时我遇到了同样的问题。这帮助了我:
不再可能安装多个已安装的应用程序 相同的标签。在之前的Django版本中,并非总是如此 工作正常,但也没有直接崩溃。
如果您有两个具有相同标签的应用,则应创建一个 其中一个的AppConfig并覆盖其标签。你应该 然后在引用此应用程序或其中的任何位置调整代码 带有旧标签的模型。
无法通过不同的方式两次导入相同的模型 路径了。从Django 1.6开始,这可能只会发生在你身上 手动将目录和子目录放在PYTHONPATH上。参考 有关新版项目布局的部分,请参见1.4发行说明 迁移说明。
你应该确保:
- 所有模型都在INSTALLED_APPS中列出的应用程序中定义,或者具有明确的app_label。
- 模型不会作为加载其应用程序的副作用导入。具体而言,您不应在根目录中导入模型 应用程序的模块,也不是定义它的模块 配置类。 Django将执行这些要求 版本1.9,在弃用期后。
来源:http://django.readthedocs.io/en/latest/releases/1.7.html#standalone-scripts