我正在一個Django項目,其中一個模型(可以說文件)工作具有以下字段:Django的自定義權限的授權
#In models.py
class Document (models.Model):
choice = (('Yes','Yes'), ('No','No'))
authorized = models.CharField (max_length=3, choices=choice, default='No')
現在,作爲一個普通用戶創建一個文檔對象,授權場沒有。但是,上級需要在實際批准之前對其進行授權。現在,django中是否有一個權限系統,一個用戶可以創建一個對象但不授權,而另一些用戶 - 擁有該權限 - 可以授權?如果沒有,是否唯一的方法是在用戶模型中創建一個自定義字段並每次檢查它?
是的,我寧願去與布爾字段,我的壞。但人民不是超級用戶。我不希望這與管理員使用,但一般意見。就像有人正在創建發票(實際模型名稱是pursesInvoice和salesInvoice)。一旦創建,高級會授權它。所有這些應該發生在視圖中,而不是通過管理員,當然不是通過超級用戶。 – Sayantan
@Vishes_shell ...謝謝隊友。但我想說的問題是,我怎樣才能防止一個人(沒有授權「授權」表單)訪問它。看,我創建對象A,並且有人應該授權它。這有點像工作流程。現在,應該通過檢查來處理這個可訪問性是自定義的request.user.is_permitted_to_authorize字段,還是有更好的方法? – Sayantan
@SayantanGanguly您基本上需要做什麼,創建一些權限,您將分配優秀用戶,或創建代表上級用戶的組,並且在視圖中依賴於user.has_perm或user.groups中的group_name將呈現兩種形式之一(一種具有授權字段,一種沒有)。如果您以上級用戶的身份進入該頁面,會發生什麼情況,您會看到包含「授權」輸入的表單,但如果您不是上級,那麼您甚至不知道該字段是否存在。 –