Reputation: 5743
I'm using django's ContentType foreign key in my model, and I'm using it in the fixtures for unit tests.
Therefore, I have to hard-code content_type_id in my fixture, but django sometimes initializes it to a different value and thus my tests fail.
So is there a way to safely predict the content_type_id of the model or any other proper way to handle such situations?
Upvotes: 13
Views: 3933
Reputation: 239350
Use natural keys: https://docs.djangoproject.com/en/dev/topics/serialization/#natural-keys
Most of the documentation refers to how to add the capability to your own models, but ContentType
already supports them so just add --natural-foreign
to your dumpdata
management command:
$ python manage.py dumpdata myapp --indent=4 --natural-foreign
Upvotes: 20