我对自定义权限感到困惑。我想创建一个自定义用户模型,所以我尝试覆盖has_perm和get_all_permission方法。如何检查用户是否获得了has_perm()的权限?我发现get_all_permission()只返回一个集合。如果权限在get_all_permission返回的集合中,则表示用户具有权限?此外,如果权限分配给用户,权限需要添加到权限表的用户部分吗?
这是代码:
# declare a set to hold permission that need add to user
perm_list = set()
def get_user_type(self):
return "Staff"
# if permission is in the permission set, return true otherwise return false
def has_perm(self, perm, obj=None):
if perm in self.get_all_permissions():
return True
return False
# return all the user permission
def get_all_permissions(self, obj=None):
return self.perm_list
# assign permission to the user
def assign_perm(self,perm,object=None):
self.perm_list.add(perm)