2015-06-27 178 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() 
相關問題