我正在研究django中的一個項目,該項目要求在他們自己的username
名稱空間中有單獨的用戶組。Django - 允許重複的用戶名
因此,例如,我可能有多個「組織」,並且username
只應在該組織內唯一。
我知道我可以通過使用一個包含用戶名/組織ID另一種模式做到這一點,但仍然留下的defualt Django的權威性User
,我將不得不用的東西來填充這個沒用(和所需的)領域。
我已經編寫了自己的身份驗證後端,用於針對LDAP驗證用戶身份。然而,正如我之前提到的,我仍然堅持如何填充/忽略默認django用戶的username
字段的問題。
有沒有辦法爲Django auth用戶刪除username
的唯一性約束?
我不確定這會起作用。 「unique」屬性作爲該字段的約束傳播到數據庫。一旦完成,調整Django元信息不會有幫助。如果你永遠不會真的*使用*(即顯示/修改)用戶名,那麼任何使它獨一無二的東西就足夠了。例如。 Dr血液貨幣建議。 – 2010-01-08 16:52:24
這個*做*工作(我試過了),但由於它正在訪問'_meta',它依賴於內部實現而不是記錄的接口,所以我謹慎使用它。 +1,但它確實有效。 – 2010-01-08 17:39:32
那麼,它適用於NOT NULL約束(我試過),所以我不明白爲什麼不。只要「MyUserModel」是繼承自「auth.User」的類,並且該行在模型之後直接放置,這似乎工作。這只是一個有點醜陋的黑客攻擊。 – 2010-01-08 17:44:53