Python Django+;测试类型问题:AppRegistryNotReadyException

Python Django+;测试类型问题:AppRegistryNotReadyException,python,django,python-3.6,tastypie,Python,Django,Python 3.6,Tastypie,我一直在尝试Django的Testipie,但遇到了一个AppRegistryNotReady异常。我找到了一些方法来解决这个问题,但没有任何帮助 Python:3.6 Django:2.1.2 django-tastypie:0.14.2 已安装的应用程序 服务/_初始化_.py 服务/应用程序.py 我得到了回溯: Traceback (most recent call last): File "/home/chumachenko/.local/share/vir

我一直在尝试Django的Testipie,但遇到了一个AppRegistryNotReady异常。我找到了一些方法来解决这个问题,但没有任何帮助

  • Python:3.6
  • Django:2.1.2
  • django-tastypie:0.14.2
已安装的应用程序

服务/_初始化_.py

服务/应用程序.py

我得到了回溯:



    Traceback (most recent call last):
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
        fn(*args, **kwargs)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
        autoreload.raise_last_exception()
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/utils/autoreload.py", line 248, in raise_last_exception
        raise _exception[1]
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/core/management/__init__.py", line 337, in execute
        autoreload.check_errors(django.setup)()
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
        fn(*args, **kwargs)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/apps/registry.py", line 89, in populate
        app_config = AppConfig.create(entry)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/apps/config.py", line 116, in create
        mod = import_module(mod_path)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "", line 994, in _gcd_import
      File "", line 971, in _find_and_load
      File "", line 955, in _find_and_load_unlocked
      File "", line 665, in _load_unlocked
      File "", line 678, in exec_module
      File "", line 219, in _call_with_frames_removed
      File "/home/chumachenko/Documents/Projects/tastypie_tutorial/services/apps.py", line 4, in 
        from tastypie.models import create_api_key
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/tastypie/models.py", line 15, in 
        class ApiAccess(models.Model):
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/db/models/base.py", line 87, in __new__
        app_config = apps.get_containing_app_config(module)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/apps/registry.py", line 249, in get_containing_app_config
        self.check_apps_ready()
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/apps/registry.py", line 132, in check_apps_ready
        raise AppRegistryNotReady("Apps aren't loaded yet.")
    django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.


可能有人已经遇到了这个问题?

尝试用
default\u-app\u-config='services.apps.ServicesConfig'替换“default\u-app\u-config='services.apps.AppConfig'
我找到了解决这个问题的方法。您应该对services/apps.py进行一些更改


谢谢你的回答,但不幸的是它仍然不起作用。
`default_app_config = 'services.apps.ServicesConfig'`


    from django.apps import AppConfig
    from django.contrib.auth import get_user_model
    from django.db.models import signals
    from tastypie.models import create_api_key
    User = get_user_model()
    class ServicesConfig(AppConfig):
        name = 'services'
        def ready(self):
            signals.post_save.connect(create_api_key, sender=User)



    Traceback (most recent call last):
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
        fn(*args, **kwargs)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
        autoreload.raise_last_exception()
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/utils/autoreload.py", line 248, in raise_last_exception
        raise _exception[1]
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/core/management/__init__.py", line 337, in execute
        autoreload.check_errors(django.setup)()
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
        fn(*args, **kwargs)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/apps/registry.py", line 89, in populate
        app_config = AppConfig.create(entry)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/apps/config.py", line 116, in create
        mod = import_module(mod_path)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "", line 994, in _gcd_import
      File "", line 971, in _find_and_load
      File "", line 955, in _find_and_load_unlocked
      File "", line 665, in _load_unlocked
      File "", line 678, in exec_module
      File "", line 219, in _call_with_frames_removed
      File "/home/chumachenko/Documents/Projects/tastypie_tutorial/services/apps.py", line 4, in 
        from tastypie.models import create_api_key
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/tastypie/models.py", line 15, in 
        class ApiAccess(models.Model):
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/db/models/base.py", line 87, in __new__
        app_config = apps.get_containing_app_config(module)
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/apps/registry.py", line 249, in get_containing_app_config
        self.check_apps_ready()
      File "/home/chumachenko/.local/share/virtualenvs/tastypie_tutorial-aq48eQFJ/lib/python3.6/site-packages/django/apps/registry.py", line 132, in check_apps_ready
        raise AppRegistryNotReady("Apps aren't loaded yet.")
    django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.



    from django.apps import AppConfig
    from django.contrib.auth import get_user_model
    from django.db.models import signals


    class ServicesConfig(AppConfig):
        name = 'services'

        # This line dispatches signal to Tastypie to create APIKey
        def ready(self):
            from tastypie.models import create_api_key
            User = get_user_model()
            signals.post_save.connect(create_api_key, sender=User)