[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 迁移错误“创建新内容类型时出错...”