2010-09-04 106 views
8

默認情況下,Django在名爲「id」的每個模型上創建主鍵字段,類型爲AutoField。在我的模型中,我重寫此操作以使用「primary_key」屬性將自定義UUIDField作爲主鍵。我還希望django.contrib.auth中的User型號具有UUIDField作爲主鍵,但如果不更改User型號源代碼,似乎不可能。django用戶模型和自定義主鍵字段

有沒有建議的方法來解決這個問題?

回答

6

如果不更改用戶模型源代碼,這似乎不可能。

正確。除非您願意更改(或更換)User,否則沒有辦法。

這樣做的一種方法是爲每個User實例附加一個UserProfile。每個User應該完全有一個UserProfile。然後,您可以將您的UUIDField添加到配置文件。您仍然必須執行自定義查詢,將UUIDField翻譯爲id

如果您不喜歡名稱UserProfile,您可以適當地重命名它。關鍵是您與User有一對一的關係。

+0

我認爲情況就是這樣。謝謝。 – Andrew 2010-09-05 17:40:03

相關問題