2010-03-13 44 views
0

根據該文件,一個類可以有選擇的元權限,並如此描述:這會破解每個對象在Django的工作權限?

Options.permissions

額外的權限創建該對象時進入權限表。爲管理員設置的每個對象自動創建添加,刪除和更改權限。本例指定一個額外的權限,can_deliver_pizzas:

permissions = (("can_deliver_pizzas", "Can deliver pizzas"),) 

這是在格式2元組(permission_code,human_readable_permission_name)的列表或元組。

是否可以通過定義在運行時的權限:

permissions = (("can_access_%s" % self.pk,/
       "Has access to object %s of type %s" % (self.pk,self.__name__)),) 

回答

0

我認爲在Meta類的上下文中,您無權訪問self
如果您尋找管理應用程序的解決方案,請閱讀有關row level permissions的信息。

也有說:

對於面向公衆的(即非管理員)的觀點,你當然可以自由實現任何檢查權限的邏輯的形式您的應用需要。

0

不,這是行不通的,原因有很多。首先,正如Felix指出的那樣,您在那個時候無法訪問self。其次,正如你所引用的文檔所述,這是一個項目列表要進入權限表 - 換句話說,這些是實際的數據庫行,由manage.py syncdb創建。