因此,我開始一個新的Django項目,基本上要求登錄&註冊過程通過EXTERNAL & ALREADY創建的數據庫路由。我可以在Django中使用外部數據庫表進行登錄嗎?
是否有可能讓用戶模型中使用外部數據庫表僅當Django是:
- 登錄用戶,以檢查登錄是有效
- 註冊用戶,將數據插入該外部數據庫中的用戶
我想爲Django服務器的其餘部分使用本地數據庫。
如果是這樣,有人可以提供示例或指導我有關該主題的文檔?
因此,我開始一個新的Django項目,基本上要求登錄&註冊過程通過EXTERNAL & ALREADY創建的數據庫路由。我可以在Django中使用外部數據庫表進行登錄嗎?
是否有可能讓用戶模型中使用外部數據庫表僅當Django是:
我想爲Django服務器的其餘部分使用本地數據庫。
如果是這樣,有人可以提供示例或指導我有關該主題的文檔?
「是的,但」
什麼你在文檔中尋找被稱爲「database router」。 在那裏的文檔中甚至有一個auth應用程序的例子。
但是,有是S嚴重的缺點,使用這種方法來考慮:
我們不能在模型跨數據庫的關係。如果auth表位於單獨的數據庫中,這意味着需要User模型的外鍵的任何應用程序應用程序都會遇到問題。您可能能夠使用不執行關係檢查的數據庫(SQLite或MyISAM/MySQL)來「僞造」關係。
這些應用程序開箱即用:session,authtoken和admin(可能更多)。
或者,單點登錄解決方案可能會做得更好:django-sso或django-mama-cas + django-cas-ng或商業Stormpath。
使用多個數據庫與Django最簡單的方法是使用數據庫路由。默認情況下,Django堅持單一數據庫,但是,如果你想實現更有趣的數據庫路由系統,你可以定義和安裝自己的數據庫路由器。
使用DATABASE_ROUTERS設置安裝數據庫路由器。你在你的settings.py文件
你所要做的就是寫一個AuthRouter描述Django文檔Django Multiple Database
回答所有的即是指定此設置。 – e4c5