django.core.exceptions.ImproperlyConfigured:AUTH_USER_MODEL指模型' auth.User'尚未安装

时间:2016-07-05 12:19:49

标签: django django-guardian django-userena

迁移我的django和userena包之后

  

Django 1.8到Django 1.9.7

     

django-userena 1.4.1 to django-userena == 2.0.1

运行项目后,我收到此错误

Unhandled exception in thread started by <function wrapper at 0xb689641c>
Traceback (most recent call last):
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 116, in inner_run
self.check(display_num_errors=True)
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 426, in check
include_deployment_checks=include_deployment_checks,
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/core/checks/registry.py", line 75, in run_checks
new_errors = check(app_configs=app_configs)
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/core/checks/urls.py", line 13, in check_url_config
return check_resolver(resolver)
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/core/checks/urls.py", line 23, in check_resolver
for pattern in resolver.url_patterns:
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/Documents/swamy/sample_project/july/5/sample11/sampleapp/urls.py", line 28, in <module>
(r'^grappelli/', include('grappelli.urls')),
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 52, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/grappelli/urls.py", line 8, in <module>
from .views.switch import switch_user
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/grappelli/views/switch.py", line 18, in <module>
User = get_user_model()
File "/home/Documents/environments/venv/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 155, in get_user_model
"AUTH_USER_MODEL refers to model '%s' that has not been installed" % settings.AUTH_USER_MODEL

django.core.exceptions.ImproperlyConfigured:AUTH_USER_MODEL指模型&#39; auth.User&#39;尚未安装的

以下是我的设置文件中的INSTALLED_APPS,

'grappelli.dashboard',
'grappelli',
'filebrowser',     
'django.contrib.admindocs',
'django.contrib.admin',
'django.contrib.auth',    
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.sites',
'django.contrib.staticfiles',  
'django.contrib.redirects',
'django.contrib.sitemaps',
'haystack',  
'memcache_status',   
'stheme',    
'home',
'customers',
'orders',
#'legacy',
'products',
'bloglets',
'utils',
'catax',
'sqls',
'quotes',    
#'django_stylus',
#'djgrid',
#'obdjects',
'quickpages', 
'loginas',
#'pyjade',
'django_countries',  
'debug_toolbar',
'djide',
#'dbtemplates',  
#'aloha',  # out temporarily, migrate to alternate https://github.com/ntucker/django-aloha-edit - JJW
'coffeescript',
'django_wysiwyg',
#'django_bfm',
'userena',
'guardian', 
#'apps',  
#'filer',
'easy_thumbnails', 
'taggit',
#'taggit_templatetags',
# 'social_auth',    
'social.apps.django_app.default', 
#'socialregistration',
#'socialregistration.contrib.linkedin',
'email_extras',
#'csvimport', 
'csvimport.app.CSVImportConf',  
'django_extensions',
'webshell',
'easy_select2',  
#'plata',
#'plata.contact', 
#'plata.discount',
#'plata.payment',
#'plata.shop',
'lastmodule',

我猜python应用程序有一些变化。但是我找不到原因......有没有人帮忙解决这个问题?

提前致谢!

10 个答案:

答案 0 :(得分:1)

这个问题通常有两个原因。

  1. 当安装的应用程序中的依赖关系顺序颠倒时。
  2. 如果您还没有在已安装的应用中提及相关性。
  3. 在这种情况下,grappelli似乎提出了告诉auth.User未找到的问题。这意味着它无法找到任何包auth。如果您使用默认用户模型,请从配置中删除AUTH_USER_MODEL设置,或者如果您使用“auth”包中的任何自定义用户模型,请在已安装的应用中列出它。

答案 1 :(得分:1)

如果您的应用程序未称为auth,则必须替换它:
AUTH_USER_MODEL='your_app_name.User'

答案 2 :(得分:1)

一旦我在v-2.2中遇到了同样的问题,那么我意识到admin.py文件中“ register”的拼写错误。

答案 3 :(得分:0)

完整的追溯将有助于更好地诊断它。首先,在我看来,由于迁移造成的依赖性问题。检查Django文档对此有何看法 -

  

由于Django的动态依赖功能的限制   可交换模型,必须确保引用的模型   AUTH_USER_MODEL是在其应用程序的第一次迁移中创建的(通常是   叫做0001_initial);否则,您将遇到依赖性问题。

这是链接 - https://docs.djangoproject.com/en/1.9/topics/auth/customizing/

答案 4 :(得分:0)

由于缺少admin.py(Django 2.2版)中的模型导入,也可能会出现此错误。

答案 5 :(得分:0)

尝试先进行迁移; python manage.py makemigrations。这可能会检测您的导入是否有问题,可以修复然后运行服务器进行验证

答案 6 :(得分:0)

我怀疑这是典型的答案,但是当我使用reverse并应该使用reverse_lazy时遇到了这个问题。更改为reverse_lazy对我来说是固定的。

答案 7 :(得分:0)

当我配置的模型不正确并将其添加到管理后端时,会出现此错误。

Wrong:
   class VolunteerExperience:
 ...

Correct:
   class VolunteerExperience(models.Model):
 ...

我希望这可以帮助因异常消息"django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to model 'auth.User' that has not been installed"误导的人

现在我知道此消息很可能表明模型配置错误。

答案 8 :(得分:0)

这是因为您拥有一个定义了用户模型的应用程序“ 身份验证 ”。 并且您没有在 INSTALLED_APPS 词典中提及应用名称。

尝试在 INSTALLED_APPS 中添加您的应用名称,然后检查。

答案 9 :(得分:0)

除了所有其他答案之外,我在升级 Django 时遇到了这个问题。我有一个从一个版本到另一个版本不推荐使用的导入。在升级任何软件包之前,请务必检查发行说明/版本历史。

https://docs.djangoproject.com/en/dev/releases/