Django-自己的应用程序不存在ContentType
我正在尝试学习如何使用ContentTypes框架,我似乎无法让它找到我自己的应用程序 用于从django.contrib.sites导入模型的文档,这对我很有用。然而,当我尝试替换我自己的应用程序和模型时,我失败了 我在MyApp.Events.models.Event有一个模型。我试着打电话:Django-自己的应用程序不存在ContentType,django,django-contenttypes,Django,Django Contenttypes,我正在尝试学习如何使用ContentTypes框架,我似乎无法让它找到我自己的应用程序 用于从django.contrib.sites导入模型的文档,这对我很有用。然而,当我尝试替换我自己的应用程序和模型时,我失败了 我在MyApp.Events.models.Event有一个模型。我试着打电话: i=ContentType.objects.get(app\u label=“Events”,model=“Event”) 作为响应,console打印: django.contrib.content
i=ContentType.objects.get(app\u label=“Events”,model=“Event”)
作为响应,console打印:
django.contrib.contenttypes.models.DoesNotExist:ContentType匹配
查询不存在
我也尝试过这一点,但也失败了:
i=ContentType.objects.get(app\u label=“events”,model=“event”)
我有
'django.contrib.contenttypes'
以及这个应用在“已安装的应用”下面列出。启用此功能是否缺少另一个设置?由于没有其他人发布此设置,以下是解决方案
i=ContentType.objects.get(app\u label=“Events”,model=“event”)
即使您的模型在
models.py
中大写,它也会以所有小写字母保存。我不知道这是Django的搞笑想法还是PostgreSQL的,所以你的里程数可能会有所不同 您运行了迁移吗?是的,我已经运行了所有迁移并重新启动了shell。您可以通过上面的查询在shell中找到contenttype吗?所以contenttype表是空的?很酷,很高兴您得到了它;)回答得很好,我想指出SQLite3用户可能会遇到类似的情况,而且模型也以小写形式保存。所以这个答案也会起作用。其他用户注意:尝试在数据库django_content_type中查找正确的名称。