2011-10-25 4 views
11

나는 "User"객체 (기본 Django auth 객체)의 조명기를 가지고 있으며 "Profile"객체의 조명기를 생성하려고합니다. 각 프로필은 사용자 개체와 일대일 관계를 가지고 있으며 해당 사용자에 대해 좀 더 사용자 지정 항목을 정의합니다.Django - Fixtures의 외래 키

필자가 말할 수있는 한, 조명기에서 외래 키를 처리하는 일반적인 방법은 이물의 기본 키를 조명기에 하드 코딩하는 것입니다. 그 일을 피할 수있는 방법이 있습니까?

기본적으로 'user': pk '보다는'user ': username'과 같은 것을 사용하려고합니다.

이렇게 할 방법이 있습니까? 당신은 "자연 키"를 찾고

답변

8
+0

솔루션하지 않습니다 잘 작동 - 지금까지 내가 말할 수있는 auth.user 모델은 기본적으로 정의 된 unique_together이없는, 그래서 내가 해당 파일을 수정하지 않고 자연 키를 사용할 수 없습니다. 조명기에있는 각각의 기본 키 값을 하드 코딩하여 원하는 것을 달성 할 수는 있습니다.하지만 그것은 이상하게 보입니다. 내가 놓친 게 있니? – numegil

+2

음, 고유 Together는 _ 문제가 아니지만 문제는 모델에 대해 Natural 키가 정의되지 않았기 때문에 버그 인 것 같습니다. 예, PK 하드 코딩은 현재 작동하는 것입니다. 미안하지만, 나는 당신의 목표를 조금 오해하고 당신이 당신 자신의 모델을 연구하는 것처럼 그것을 읽었다. –

+1

Btw, Django UserManager는 이제 사용자 이름에 대한 자연스러운 키를 정의합니다 (1.10에서와 같이, 아마도 먼 길로 돌아갑니다). – Eloff