[英]How to implement django admin on an existing database where you have read-only access?
我想使用 Django 管理員瀏覽和現有數據庫,但我想確定我或 Django 不會對此數據庫進行任何修改。
出於這個原因,我認為我應該使用兩個數據庫,一個是只讀數據庫,一個是存儲其他 django 表的數據庫,一個是我具有讀寫訪問權限的數據庫。
我知道如何在settings.py
中定義多個數據庫,但我不知道如何強制 django 為特定模型使用另一個數據庫。
作為manji
答案的補充 - 您還可以使用數據庫視圖並將一些表公開為只讀表。 將 VIEW 與 Django 一起使用是一種強大的技術,它允許將任意復雜的查找公開為 Django 模型。
在您的情況下,您可以例如使用 VIEWs 鏡像原始數據庫中的相關表創建額外的數據庫,並創建額外的 Django 項目,只為這些表啟用管理員 - 或類似的東西(您比我更了解您的用例)。
您可以使用Automatic database routing
為每個 model 配置讀/寫操作數據庫
或者
您還可以使用查詢集的using
參數自定義管理界面讀/寫操作數據庫(在 Django 的管理界面中公開多個數據庫) 。
在這兩種情況下,將讀/寫數據庫設置為默認值(django 模型將保存在那里)並將查詢顯式路由到模型的只讀數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.