2011-10-25 38 views
11

我有一個「User」對象(只是默認的Django身份驗證對象)的夾具,並且正在嘗試創建「Profile」對象的夾具。每個配置文件與用戶對象都有一對一的關係,併爲該用戶定義了更多的自定義內容。Django - 夾具中的外鍵

據我所知,處理夾具中外鍵的正常方式是將外來物體的主鍵硬編碼到夾具中。有沒有辦法避免這樣做?

基本上,我試圖在夾具中使用''user':username'而不是''user':pk'。

有沒有辦法做到這一點?

回答

8
+0

您的解決方案完全不是那麼回事 - 就我所知道的,auth.user模型沒有默認定義任何unique_together,所以我不能使用自然鍵而不修改該文件。我可以通過在夾具中的每個主鍵值中硬編碼來完成我想要的,但是這似乎很糟糕。我錯過了什麼嗎? – numegil

+2

嗯,唯一的並不是問題,問題是沒有爲模型定義自然鍵,這似乎是一個錯誤。 是的,對PK進行硬編碼是現在可行的。對不起,我誤解了你的目標,並把它看作你正在使用自己的模型。 –

+1

順便提一下,Django UserManager現在爲用戶名定義了一個自然鍵(從1.10開始,但它可能會有很長的路要走)。 – Eloff