2016-07-26 18 views
0

manage.py runserverでコマンドラインからdjangoを実行すると問題が発生しました。Django manage.py runserverにAppRegistryNotReadyがあります:モデルがまだロードされていません

数ヶ月前に同じコードがDjango 1.5で正常に機能しています。

今日私はコードをもう一度ピックアップして、Django 1.8.3とpython2.7.10を実行します。

さて、ここでエラーが発生しました:

Traceback (most recent call last): 
    File "manage.py", line 29, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 312, in execute 
    django.setup() 
    File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 198, in import_models 
    self.models_module = import_module(models_module_name) 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/media/wni/study/workspace4320151111/weichun/mytheme/models.py", line 8, in <module> 
    from mezzanine.pages.models import Page 
    File "/media/wni/study/workspace4320151111/weichun/mezzanine/pages/models.py", line 34, in <module> 
    class Page(BasePage): 
    File "/media/wni/study/workspace4320151111/weichun/mezzanine/core/models.py", line 350, in __new__ 
    return super(OrderableBase, cls).__new__(cls, name, bases, attrs) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 298, in __new__ 
    new_class.add_to_class(field.name, copy.deepcopy(field)) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 324, in add_to_class 
    value.contribute_to_class(cls, name) 
    File "/media/wni/study/workspace4320151111/weichun/mezzanine/generic/fields.py", line 226, in contribute_to_class 
    super(KeywordsField, self).contribute_to_class(cls, name) 
    File "/media/wni/study/workspace4320151111/weichun/mezzanine/generic/fields.py", line 84, in contribute_to_class 
    cls._meta.get_fields_with_model()]: 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 56, in wrapper 
    return fn(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 432, in get_fields_with_model 
    return [self._map_model(f) for f in self.get_fields()] 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 740, in get_fields 
    return self._get_fields(include_parents=include_parents, include_hidden=include_hidden) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 802, in _get_fields 
    all_fields = self._relation_tree 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 60, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 709, in _relation_tree 
    return self._populate_directed_relation_graph() 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 681, in _populate_directed_relation_graph 
    all_models = self.apps.get_models(include_auto_created=True) 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/lru_cache.py", line 101, in wrapper 
    result = user_function(*args, **kwds) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 168, in get_models 
    self.check_models_ready() 
    File "/usr/local/lib/python2.7/dist-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

メザニンのバージョンはどのバージョンを使用していますか? – knbk

+0

メザニンは3.1.9ですが、古いですが、以前は一部のコードを変更していましたので、公式の最新バージョンは使用したくありません。私はこの男を修正するために多くのコードを変更する必要はないと思う。最初に実行するコードを変更してから、後で正式なビルドに転送しようとしています – Wesley

+0

Django 1.8で使用するには少なくとも4.0.0が必要です。メザニンをアップグレードするか、必要な変更をローカルコピーにバックポートする必要があります。 – knbk

答えて

0

私はあなたがDjangoの異なるバージョンのために行くとあなたのwsgi.pyファイルを変更する必要があると思います。

import os 
import sys 

from django.core.handlers.wsgi import WSGIHandler 

os.environ['DJANGO_SETTINGS_MODULE'] = 'YourAppName.settings' 
application = WSGIHandler() 

settings.pyでインポートされたすべてのサードパーティアプリケーションをコメントしようとします。

1] ./manage.py runserverはあなたのwsgi.pyを使用しますが、上に表示されたスタックトレースにはwsgiファイルは含まれていないようです。したがって、wsgiファイルがロードされる前にエラーが発生しています。

2]これはDjangoの設定に問題がある可能性があります。たとえば、存在しないディレクトリにファイル名をLOGGINGすることができます。

3]またはチェックthis

+0

動作しません。実際には、現在私は使用しています:django.core.wsgiからインポートget_wsgi_application アプリケーション= get_wsgi_application()、いずれか、動作しません。私はmange.pyからアプリを起動してからwsgi.pyに関連しているとは思わない。 – Wesley

+0

python manage.pyを実行しようとする。このコマンドをチェックする。 –

+0

同じエラーが発生しました... – Wesley

関連する問題