python - Django Python loaddata 失败并出现 django.db.utils.IntegrityError

标签 python django

接手一个数据库项目,我正在努力将远程数据库加载到本地数据库。

该应用程序是使用 django 构建的,本地数据库仍然依赖于开箱即用的sqlite

远程数据库postgresql类型。

我尝试在终端中运行的代码:

python manage.py loaddata *[backup.json 文件的路径]*

我遇到了一些完整性错误,所以就像任何合理的人一样,我刷新了本地数据库,因为我想无论如何加载远程数据。

python 管理.py 刷新 python 管理.py 同步数据

现在,当我尝试从 json 文件加载数据时,出现以下错误:

django.db.utils.IntegrityError: Problem installing fixture 'C:...\lit\backups\dbbackup_20190915_145546.json': Could not load contenttypes.ContentType(pk=1): UNIQUE constraint failed: django_content_type.app_label, django_conten t_type.model

settings.py 文件更改为:

`DATABASES = {
    'default':  {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}`

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'lit',
        'USER': 'admin',
        'PASSWORD': 'admin',
        'HOST': 'localhost',
        'PORT': '5432'
    }

只是给了我一个新错误。

django.db.utils.IntegrityError: Problem installing fixture 'C:..\lit\backups\dbbackup_20190915_145546.json': Could not load contenttypes.ContentType(pk=17): duplicate key value violates unique constraint "django_content_type_a pp_label_model_76bd3d3b_uniq" DETAIL: Key (app_label, model)=(admin, logentry) already exists.

我已经跑了

python manage.py makemigrations
python manage.py migrate

最佳答案

在本地数据库中创建一些 ContentType 实例。

当您迁移远程数据库时,会再次创建模型的所有 ContentType。

但是当您想要加载数据时,您会尝试再次加载此实例。

你有2个解决方案

1-使用 django shell 从远程主机删除所有内容类型实例

python manage.py shell

>>> from django.contrib.contenttypes.models import ContentType
>>> ContentType.objects.all().delete()

2-从转储的数据中删除内容类型实例

python manage.py dumpdata --exclude contenttypes

关于python - Django Python loaddata 失败并出现 django.db.utils.IntegrityError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57958722/

相关文章:

python - Python 中的列表最后一个元素

python - sklearn.lda.LDA() 和 sklearn.discriminant_analysis.LinearDiscriminantAnalysis() 之间的区别

python - 搜索文本文件并打印行号

django - 在 Django 中注册后重定向到上一页

python - Factory Boy 及相关对象创建

python - 在没有exec/eval,python的字符串中调用代码

python - 排序容器的时间复杂度

javascript - 如何在ajax httpresponse中返回django查询集

django - 模块 'django.db.models' 没有属性 'OnetoOneField'

python - Django 虚拟环境布局