在這裏使用Django 1.5。我有一個我創建的應用程序,目前有一個大的數據集,如果你願意的話,可以爲一個「帳戶」。這意味着我的應用程序中所有模型中的所有數據都可供所有登錄用戶使用。現在,我希望能夠讓更多的人使用我的應用程序,但使用他們自己的一組數據。所以我需要將用戶分成不同的帳戶,併爲每個帳戶設置不同的數據集。可能有一個或多個用戶可以訪問每個帳戶。目前,我並不需要一個帳戶中的不同用戶具有不同的訪問級別,但我打算讓一個用戶成爲帳戶「所有者」。Django:多帳戶,每個帳戶下有多個用戶,但帳戶特定的數據
我知道,要進行這種轉換,我當然需要一個字段添加到每個模型的外鍵一個新的「賬戶」的模式。但除此之外,我有點模糊。這似乎是Django身份驗證系統圓洞中的一個掛鉤。所以問題是,最好的方法是什麼?
的一點想法我有這麼遠:
- 只需按帳戶篩選每一個查詢
- 裹每一個裝飾每一個觀點,但有多個型號,我必須創建一個不同的每個模型的裝飾者?我可以從裝飾者中知道正在訪問哪個模型?
- 以某種方式使用Auth系統的
user_passes_test
修飾器,但再次使用不同的型號。 - 將驗證系統擴展爲包含
request.account
屬性 - 爲我的視圖創建新的混合?如果我沒有專門使用CBV,該怎麼辦?
- 不同的中間件?
我考慮爲每個帳戶使用一個新組,然後按組進行過濾而不是新帳戶模型,但我預測在這種情況下這將不太合適,因爲它並未按照預期使用組。
這不是一個代碼問題,而是更多的大圖片,最佳實踐問題。你會如何處理這個問題?
我沒有得到整個帳戶/用戶/數據分離的目標。你能更詳細地描述它嗎? – Alp