我在我的項目中有一個設置應用程序,並且此應用程序使用的數據庫表中的每條記錄都代表特定的設置。 重要的是設置必須始終保持一致,所以我正在尋找方法來防止管理員面板用戶意外刪除或通過錯誤的代碼。如何防止Django中的對象被刪除?
此功能的另一種情況可能是 - 存儲在數據庫中的錯誤消息,可用於管理站點中的編輯或用於網站用戶的電子郵件模板。
我想到的可能的解決方案:
- 將每個設置存儲爲表列或多列,所以表將按列逐列擴展,而不是按行逐列擴展。優點 - 簡單,可靠,缺點 - 難看
- DB端解決方案。
- 實現某種基於對象所有權控制對CRUD操作訪問權限的權限系統,如Linux中的文件系統權限。優點 - 不那麼醜陋,從DB抽象,缺點 - 我還不知道如何爲Django實現簡單而優雅的實現。
有沒有人有更好的想法?
如果管理員技術上不識字(不僅pythonistas使用網站)會怎麼樣?或者如果在部署過程中某些數據會變得不一致,可能會導致功能降級。 –
我的意思不是輕視,但是很難編碼像「管理員不稱職」這樣的社會問題。這些問題對技術解決方案具有很強的抵抗力。 – msw