Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django: Create fixtures without specifying a primary key?

One of the things that bugs me about Django fixtures is that you've got to specify every model's primary key. Is there any way to create fixtures without having to specify a primary key for each row?

like image 549
David Wolever Avatar asked Sep 30 '09 18:09

David Wolever


2 Answers

Use "pk: null" instead of "pk: 1" (or whatever), which will result in the PK being set to None, and when the object is saved a primary key will be assigned.

This works for YAML at least, I'm guessing you're using that if you are creating by hand.

like image 63
spookylukey Avatar answered Sep 19 '22 03:09

spookylukey


You should have a look at Natural Keys if you're wiling to add relation without using pk's

https://docs.djangoproject.com/en/dev/ref/django-admin/#dumpdata-app-label-app-label-app-label-model

like image 30
Eduardo Avatar answered Sep 20 '22 03:09

Eduardo