我正在创建一个具有某些权限的自定义组
//创建新组
new_group, created = Group.objects.get_or_create(name='AdminGroup')
ct = ContentType.objects.get_for_model(User)
//添加新群组的权限
p3 = Permission.objects.create(
codename='DELETE', name='can_Delete', content_type=ct)
new_group.permissions.add(p3)
现在我想检查用户是否拥有此权限
user_right = request.user.has_perm('can_Delete')
print(user_right)
这个印刷品让我虚假。怎么??
当然,我将此群组添加到用户中
g = Group.objects.get(name='AdminGroup')
request.user.groups.add(g)
另一件事, 我在管理面板组中检查了这个已成功分配权限
有人可以向我解释 这是怎么回事?答案 0 :(得分:1)
我认为您需要在访问权限之前添加User表(我们的models.py中的类或直接auth_user表)。如果您使用了auth_user表,请确保在settings.py中添加了身份验证后端。
user_right = request.user.has_perm('User.can_Delete')
让我知道它是否有效。