2015-06-27 4 views
1

Прошло довольно долгое время, так как я занимался django, я имею дело с некоторым кодом, который может быть немного старше, теперь на Django 1.7. О чем эта статья?Django «Модели еще не загружены»

Это происходит не через 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. 
+0

Если вы используете Django из внешнего скрипта, перед использованием любой из этих моделей вы должны запустить 'django.setup()'. – knbk

ответ

4

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

import django 
django.setup() 
0

Включите следующий код в файл WSGI и проверить.

from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application() 
Смежные вопросы