Heroku 上的 Django 项目初始数据夹具完整性错误

Django project on Heroku initial data fixture integrityerror

我已经将我的项目部署到 Heroku,目前正在尝试将数据转储从本地 sqlite 数据库加载到 Heroku 数据库。除初始迁移命令外,远程数据库是干净且未受影响的。 我尝试了以下转储组合,但都返回了错误

python manage.py dumpdata --exclude contenttypes --> data.json
python manage.py dumpdata --exclude auth.permission --exclude contenttypes --indent 2 > data.json
python manage.py dumpdata --exclude auth.permission --exclude contenttypes --exclude auth.user  --indent 2 > data.json

错误是:

django.db.utils.IntegrityError: Problem installing fixture '/app/data.json': Could not load wellsurfer.Profile(pk=6): duplicate key value violates unique constraint "wellsurfer_profile_user_id_key" DETAIL: Key (user_id)=(1) already exists.

我想 post 此处的 json 文件,但大约有 120,000 行。但如果需要,我可以提供特定部分。该错误清楚地表明密钥存在,但数据库一开始是干净的。显然,我做错了一些非常基本的事情,我希望你能指出正确的方向。我尝试了在 Whosebug 上找到的建议,但没有成功。

我遇到了同样的问题,这对我有用

源码(本地sqlite)

python manage.py dumpdata --natural-foreign --indent 4 > datadump.json

(这将包括所有内容,甚至是授权应用/用户)

目的地(heroku postgres)

python manage.py migrate
python manage.py shell
>>> from django.contrib.contenttypes.models import ContentType
>>> ContentType.objects.all().delete()
>>> quit()

最后,运行 以下命令加载 json 数据:

python manage.py loaddata datadump.json