[django]错误:无法重置内容类型

Posted

技术标签:

【中文标题】[django]错误:无法重置内容类型【英文标题】:[django]Error: contenttypes couldn't be reset 【发布时间】:2011-11-15 09:23:01 【问题描述】:

我在加载夹具之前重置了内容类型(请参阅Problems with contenttypes when loading a fixture in Django)。

但无法重置内容类型:

...project_dir > manage.py 重置内容类型

您已请求重置数据库。这将不可逆转地破坏 数据库中“内容类型”应用程序的任何数据 “我的数据库”。您确定要这样做吗?

输入“yes”继续,或输入“no”取消:yes

错误:错误:无法重置内容类型。可能的原因:

数据库未运行或配置不正确。 至少有一个数据库表不存在。 SQL 无效。

提示:查看“django-admin.py sqlreset contenttypes”的输出。 这就是该命令无法运行的 SQL。

完整错误:(1217, 'Cannot delete or update a parent row: a 外键 contraint 失败')

任何帮助将不胜感激。谢谢!

【问题讨论】:

你能不能输入命令django-admin.py sqlreset contenttypes看看有什么错误? 对此有何见解?你设法解决了这个问题吗? 【参考方案1】:

关于您发布的问题,还有另一个answer - 使用natural keys 表示固定装置。

错误“无法删除或更新父行:外键约束失败”表示无法删除内容类型行,因为有另一个对象指向该行。例如。如果有任何非空白的通用外键关系就是这种情况。

如果您确实需要重置内容类型应用程序,您可以获取所需的 SQL 命令并将其更改为使用 CASCADE 语句。然而,这是危险的,因为它不仅会删除内容类型,还会删除另一个表中指向内容类型的行。

所以我建议使用自然键重新创建固定装置。

【讨论】:

以上是关于[django]错误:无法重置内容类型的主要内容,如果未能解决你的问题,请参考以下文章

无法让 CORS 与内容类型一起使用 - Django Rest Framework

Python Django 1.9 迁移错误“创建新内容类型时出错...”

Django 发送email配置详解及各种错误类型

错误::未捕获(承诺中)类型错误:无法读取未定义的属性“内容”

错误页面提示大全

blob 上的错误内容类型无法打开 img / 文件已损坏