簡體   English   中英

如何在您具有只讀訪問權限的現有數據庫上實施 django 管理員?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM