Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django - Foreign Keys in Fixtures

Tags:

django

fixture

I have a fixture of "User" objects (just the default Django auth ones), and am trying to create a fixture of "Profile" objects. Each profile has a one-to-one relation to a user object, and defines some more custom stuff for that user.

As far as I can tell, the normal way of dealing with foreign keys in a fixture is to just hardcode the primary key of the foreign object into the fixture. Is there a way to avoid doing that?

Basically, I'm trying to have something like '"user":username' in the fixture rather than '"user":pk'.

Is there any way to do this?

like image 404
numegil Avatar asked Oct 25 '11 23:10

numegil


1 Answers

What you are trying to do is serializing with natural keys, explained here.

You basically need to define how to get the object from other fields in these special manager and model methods.

Just realized that this question has been asked 9 years ago, what? Why did it appear in the feed at the top?

like image 91
Işık Kaplan Avatar answered Nov 14 '22 02:11

Işık Kaplan