2017-03-01 93 views
1
from django.contrib.auth import get_user_model 
from django import forms 

class UserForm(forms.ModelForm): 
    password = forms.CharField(widget=forms.PasswordInput) 

    class Meta: 
     model = get_user_model() 
     fields = ['username', 'email', 'password'] 

我得到:“django.core.exceptions.AppRegistryNotReady:模型尚未加载。”Django:用户用户模型未加载

Traceback (most recent call last): 
    File "./manage.py", line 8, in <module> 
    django.setup() 
    File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 27, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 85, in populate 
    app_config = AppConfig.create(entry) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 90, in create 
    module = import_module(entry) 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/home/daniel/testingChamber/djangoTut/home/__init__.py", line 1, in <module> 
    import views 
    File "/home/daniel/testingChamber/djangoTut/home/views.py", line 9, in <module> 
    from .forms import UserForm 
    File "/home/daniel/testingChamber/djangoTut/home/forms.py", line 4, in <module> 
    class UserForm(forms.ModelForm): 
    File "/home/daniel/testingChamber/djangoTut/home/forms.py", line 7, in UserForm 
    class Meta: 
    File "/home/daniel/testingChamber/djangoTut/home/forms.py", line 8, in Meta 
    model = get_user_model() 
    File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/__init__.py", line 163, in get_user_model 
    return django_apps.get_model(settings.AUTH_USER_MODEL) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 192, in get_model 
    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. 

我不知道发生了什么事。我是Django的新手。

我使用的版本是1.10.6和Python 2.7.12。

这样做的正确方法是什么?

+0

http://stackoverflow.com/questions/25537905/django-1-7-throws-django-core-exceptions-appregistrynotready-models-arent-load – Mayank

+0

你可以在你的问题中粘贴完整的回溯?这将有助于诊断问题。 –

+0

UserForm位于哪个应用?请显示你的'INSTALLED_APPS'设置。 – Alasdair

回答

1

如果@Mayank在评论中建议的解决方案不起作用。这是一个解决方法 - 不知何故,在导入设置时导入了表单文件。确保不要导入任何最终导入表单文件的设置中的文件。不要在__init__文件中导入此文件。

+0

我在用于测试的__init__文件中有一个导入。我的坏 –

+0

很高兴它的工作。如果有帮助,请将其标记为正确答案 – hspandher