python
data_error
ai_generated
true
删除保护错误:无法删除'Author'的某些实例,因为它们通过受保护的外键'Article.author'被引用
django.db.models.deletion.ProtectedError: Cannot delete some instances of model 'Author' because they are referenced through protected foreign keys: 'Article.author'
ID: python/django-orm-delete-error
80%修复率
87%置信度
0证据数
2024-10-15首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 3.x | active | — | — | — |
根因分析
删除操作被外键保护约束阻止,关联对象存在
English
尝试删除被外键引用的对象,且外键设置了PROTECT
解决方案
-
95% 成功率
article.delete() 然后 author.delete()
-
90% 成功率
在模型中设置on_delete=models.CASCADE
无效尝试
常见但无效的做法:
-
90% 失败
Django ORM没有force_delete方法,会破坏数据完整性
-
80% 失败
删除操作无法完成