如何调试Django验证,找不到相关对象

时间:2012-10-31 03:46:17

标签: python django

我有错误:

Error: One or more models did not validate:
auth.permission: 'content_type' has a relation with model <class 'django.contrib.contenttypes.models.ContentType'>, which has either not been installed or is abstract.

我没有在包中看到django.contrib.contenttypes.models.ContentType的引用。

即使逗号内的所有模型都出现此错误。

我多次引用用户,但为什么会出现content_type错误?

的Django == 1.4.2

编辑:因为人们认为我的模块名为auth,所以这里是整个项目中存在的位置:

models.py

2: from django.contrib.auth.models import User

settings.py

94: 'django.contrib.auth.middleware.AuthenticationMiddleware',
112: 'django.contrib.auth',

2 个答案:

答案 0 :(得分:2)

在设置INSTALLED_APPS下有

'django.contrib.contenttypes',

丢失。来自jro的票证链接很有帮助。

答案 1 :(得分:1)

您的问题很可能是Kay Zhu所提到的:目前,您无法致电您的申请auth。该问题的简短版本是manage.py依赖于其他几个模块,其中一个模块是内置的django.contrib.auth。有关详细信息,请参阅this ticket

解决方案是引用INSTALLED_APPS元组中的麻烦模块,或者(如果您碰巧有一个名为auth的应用程序)重命名导致名称冲突的模块。有一个feature request用于删除此依赖项,但我暂时不会等待它。