为啥我的夹具没有安装在 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”

安装夹具时 Django 1.10 引发错误:没有这样的列:REFERRED.id

如何创建夹具文件

在 django 单元测试中加载固定装置

为啥我不能在 Django 项目中导入模块?

为啥每当我尝试将图像添加到我的 django 项目时都会出错?