TJB
TJB

Reputation: 3836

Duplicate key issue when loading back.json file PostgreSQL

I have a PostgreSQL database that where I performed python manage.py dumpdata to backup the data into a json file. I created a new PostgreSQL database, performed a migrate, and everything worked like clockwork. When I tried to load the backup.json file with python manage.py loaddata backup.json it, gives me this error.

Could not load contenttypes.ContentType(pk=15): duplicate key value violates unique constraint "django_content_type_app_label_76bd3d3b_uniq"
DETAIL:  Key (app_label, model)=(navigation, navigation) already exists.

I checked phpPgAdmin, and there is a row for News. Is there a way to load the backup json file without including the content types, or better yet dump everything except for content types data ?

Upvotes: 14

Views: 8207

Answers (2)

Raskolnikov
Raskolnikov

Reputation: 385

You can use the following command to load data:

python manage.py loaddata --exclude auth.permission --exclude contenttypes back.json

Upvotes: 10

ARKhan
ARKhan

Reputation: 1975

I was getting similar error:

django.db.utils.IntegrityError: Problem installing fixture '/home/knysys/ogmius/ogmius/db.json': Could not load contenttypes.ContentType(pk=2): duplicate key value violates unique constraint "django_content_type_app_label_model_76bd3d3b_uniq" DETAIL: Key (app_label, model)=(auth, user) already exists

After that, I found out that If you are restoring a fresh database from another database, You need to dumpdata like this:

./manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json

and then load fresh database like this:

./manage.py loaddata db.json

Upvotes: 31

Related Questions