from guardian.shortcuts import get_users_with_perms, assign_perm, get_groups_with_perms
def copy_permissions(old_object, new_object):
"""Copy user and group permissions from one object to another."""
for user, permissions in get_users_with_perms(old_object, attach_perms=True, with_group_users=False).items():
for permission in permissions:
assign_perm(permission, user, new_object)
for group, permissions in get_groups_with_perms(old_object, attach_perms=True).items():
for permission in permissions:
assign_perm(permission, group, new_object)
无法强制权限继承,也没有用于复制权限的内置函数。你知道吗
在您的情况下,您可以简单地对照父对象检查权限?你知道吗
或者显式复制权限。既然这个问题一再出现,我就为自己做了一个函数:
相关问题 更多 >
编程相关推荐