Джанго "Модели еще не загружены"

Прошло довольно много времени с тех пор, как я имел дело с 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.

2 ответа

Решение

Перед использованием моделей вашего приложения в командной строке -

import django
django.setup()

Включите приведенный ниже код в ваш файл wsgi и проверьте.

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Другие вопросы по тегам