【问题标题】:Django "Models aren't Loaded Yet"Django“模型尚未加载”
【发布时间】:2015-06-27 22:07:23
【问题描述】:

自从我处理 django 以来已经有一段时间了,我正在处理一些可能有点旧的代码,现在在 Django 1.7 上。这个堆栈跟踪是关于什么的?

它不是通过runserver 发生的,而是通过使用应用程序模型的命令行实用程序发生的。之前的问题指向升级 wsgi 文件(已经完成)并创建一个AppConfig 对象(已经完成,尽管可能不完整)。

Traceback (most recent call last):
  File "files/hashcat.py", line 34, in <module>
    process.processFile(line)
  File "/home/x/dataidentity/files/processing/process.py", line 81, in processFile
    af.analyze()
  File "/home/x/dataidentity/files/filetype/AnalysisFactory.py", line 40, in analyze
    self.getOrCreateFileNameModel()
  File "/home/x/dataidentity/files/filetype/AnalysisFactory.py", line 51, in getOrCreateFileNameModel
    basefile=self.fileModel)
  File "/home/x/venv/local/lib/python2.7/site-packages/django/db/models/query.py", line 679, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File "/home/x/venv/local/lib/python2.7/site-packages/django/db/models/query.py", line 697, in _filter_or_exclude
    clone.query.add_q(Q(*args, **kwargs))
  File "/home/x/venv/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1304, in add_q
    clause, require_inner = self._add_q(where_part, self.used_aliases)
  File "/home/x/venv/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1332, in _add_q
    allow_joins=allow_joins, split_subq=split_subq,
  File "/home/x/venv/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1144, in build_filter
    lookups, parts, reffed_aggregate = self.solve_lookup_type(arg)
  File "/home/x/venv/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1030, in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
  File "/home/x/venv/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1367, in names_to_path
    if field.is_relation and not field.related_model:
  File "/home/x/venv/local/lib/python2.7/site-packages/django/utils/functional.py", line 60, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/x/venv/local/lib/python2.7/site-packages/django/db/models/fields/related.py", line 110, in related_model
    apps.check_models_ready()
  File "/home/x/venv/local/lib/python2.7/site-packages/django/apps/registry.py", line 131, in check_models_ready
    raise AppRegistryNotReady("Models aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

【问题讨论】:

  • 如果您从外部脚本使用 Django,则必须在使用任何模型之前运行 django.setup()

标签: python django


【解决方案1】:

在命令行中使用您的应用模型之前 -

import django
django.setup()

【讨论】:

    【解决方案2】:

    在您的 wsgi 文件中包含以下代码并检查。

    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    

    【讨论】:

      猜你喜欢
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      相关资源
      最近更新 更多