1

It's been quite a while since I've dealt with django, I'm dealing with some code that may be a bit older, now on Django 1.7. What is this stacktrace about?

It occurs not via runserver, but rather via a command-line utility that uses an app's models. Previous questions have pointed to upgrading the wsgi file (which has been done) and creating an AppConfig object (which has been done, albeit it's possible not in complete detail).

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.
FrobberOfBits
  • 17,634
  • 4
  • 52
  • 86
  • If you're using Django from an external script, you have to run `django.setup()` before you use any of the models. – knbk Jun 27 '15 at 22:08

2 Answers2

5

Before using your app's models in Command line -

import django
django.setup()
Ashish Gupta
  • 2,574
  • 2
  • 29
  • 58
0

Include the below code in your wsgi file and check.

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
SuperNova
  • 25,512
  • 7
  • 93
  • 64