为啥我的夹具没有安装在 django 项目上?
Posted
技术标签:
【中文标题】为啥我的夹具没有安装在 django 项目上?【英文标题】:Why my fixture is not installing on django project?为什么我的夹具没有安装在 django 项目上? 【发布时间】:2020-11-08 06:13:23 【问题描述】:我通过以下命令在我的 django 项目中使用固定装置创建了数据库备份:-
python manage.py dumpdata > db.json
当我加载夹具时,出现以下错误:-
django.db.utils.IntegrityError: Problem installing fixture '/home/gagan/saporawebapp/webapp/fixtures/db.json': Could not load contenttypes.ContentType(pk=17): duplicate key value violates unique constraint "django_content_type_app_label_model_76bd3d3b_uniq"
详细信息:键 (app_label, model)=(webapp, homescreen) 已存在。 即使我只是加载夹具,我也不知道完整性错误是如何出现的。我该如何解决这个错误? 编辑 我想通了,因为我在转储数据库时忘记排除 auth.permission 和 contenttypes 但我仍然不知道如何纠正它?
【问题讨论】:
使用 db.json 中的详细信息编辑您的线程 db.json 只是一个 json 文件,其中包含来自 django 项目的数据库。我不明白你想从 db.json @Harben 看到什么细节 【参考方案1】:你的数据库中的内容类型表有一个重复 app_label 的记录,并且不同的 pk,app_label 是唯一的,你不能用现有的 app_label 插入新值
【讨论】:
【参考方案2】:如果您使用的是 django>=1.11,请尝试在导出备份之前删除过时的内容类型
python manage.py remove_stale_contenttypes
【讨论】:
以上是关于为啥我的夹具没有安装在 django 项目上?的主要内容,如果未能解决你的问题,请参考以下文章
(Django) 安装夹具“rules.json”时出现问题:“NoneType”对象没有属性“id”