【发布时间】:2017-01-19 11:40:40
【问题描述】:
我有以下问题。有一个权限列表(假设“a”到“z”)。每个用户都拥有这些权限的一个子集。
假设我们有另一个列表,
perms_list = [a, c, d]
我想检查用户是否至少拥有 perms_list 中的一项权限。
user.has_perms(perms_list)
检查用户是否拥有所有权限,所以,我不能使用它。 (我也不能使用 has_module_perms,因为我的权限具有相同的模块)
另一种方法是将其放入 for 循环中
for p in perms_list:
if user.has_perm(p):
# do_something
有没有更有效的方法?
作为对这个问题的扩展,是否有可能有一种通用的方法来做到这一点?例如,用户应该有 (perm1 and perm2) 或 perm3
【问题讨论】:
标签: python django permissions