2013-08-17 18 views
1

我正在寫一個應用程序,我需要註冊用戶信息,即使用戶在Django中不存在(還)。基本上,我需要插入由Auth.user使用幾乎每一個領域(我不關心密碼)。我也創建了一個帶有OneToOneField連接到Auth.user模型檔案模型,我需要填寫這些的Fileds以及對於尚不存在的用戶。乾的方法來添加用戶信息,而不使用在Django中的Auth.user

如果用戶將在稍後註冊到(使用Auth.user)我會去找他通過電子郵件,如果我會找到他,我會合併我插入的信息,他提供的那些網站。

問題: 什麼是實現用戶持續沒有在創建模型非常相似,彼此重複自己的最好方法?

+1

我會保持它很簡單,使用'is_active'標誌和密碼字段(一起)的空虛弄清楚,如果用戶創建的帳戶或不。在註冊時,如果配置文件存在,只是促使他確認電子郵件,並設置密碼 - 你應該是所有設置 – karthikr

+0

我有一個賣家客戶系統中不同的賣家可以訪問不同的客戶。如果_Seller1_註冊_customer1_並將「is_active」設置爲「false」,那麼如果_Seller2_想插入他自己的關於_customer1_的信息,則會有衝突。另外,如果_customer1_刪除了他的帳戶呢?爲了保護隱私,系統應該刪除他提供的所有信息(但不是賣家提供的關於客戶的信息) – Leonardo

+0

好的。通過創建抽象級別(UserProfile)來處理信息並將其擴展以滿足您的需求 – karthikr

回答

0

我會建議在無論是對用戶模型date_joined或LAST_LOGIN領域使用虛擬值,如果你想實現一個解決方案,無需增加新的領域只是作爲一個指示標記。

使用is_active標誌的潛在問題是,您最終可能希望使用此標誌「黑名單」或有效刪除帳戶,而不實際從數據庫中刪除其記錄(以防止重新創建帳戶相同的憑據等)如果您開始依賴於未設置密碼的事實,那麼如果您想要實現替代登錄方法(OAuth)的那一天到了,那麼您的密碼字段也不會在這些情況下設置(巨大的衝突)。

相關問題