說我有一個MODELA,ModelB和ModelCDjango的:隱藏模型類型與管理頁面上沒有實例
對於我的應用程序的管理頁面(/管理/應用程序)的應用程序,我怎麼掛接到的顯示「應用程序管理」頁面,所以我可以隱藏模型類型是空的(沒有實例)?
說我有一個MODELA,ModelB和ModelCDjango的:隱藏模型類型與管理頁面上沒有實例
對於我的應用程序的管理頁面(/管理/應用程序)的應用程序,我怎麼掛接到的顯示「應用程序管理」頁面,所以我可以隱藏模型類型是空的(沒有實例)?
這是一個很大的問題,因爲您必須根據數據庫/ ORM查詢的結果(至少count(),至少)動態註冊/取消註冊應用程序,以確定每個INSTALLED_APPS
包含的每個模型。
您每次查看管理員。
雖然這本身不夠好,但請記住,每個應用程序的admin.py
都是在服務器重啓/重載時(IIRC)進行處理的,所以您不能希望在那裏掛上一些可愛的東西,例如那些數據庫查找,它只會運行一次,並不反映當前存儲在數據庫中的模型的實際狀態。
更好的舉措:保持它。如果沒有要查看給定模型的對象,則沒有要查看給定模型的對象。
如果您關心的是您的客戶/用戶在不應該的情況下製作新模型,那麼這是用戶教育和管理員用戶權限的結合,您可以將其整理出來。
正如在幾個地方所說:「管理員不是你的應用程序。」如果定製不再是微不足道的話,現在是編寫自己的看法的時候了。您仍然可以通過覆蓋基本管理模板將它們掛接到管理站點,甚至可以像管理其他用戶一樣從根路徑提供它們。