Здесь я назначаю некоторую группу пользователям, и у группы есть определенные разрешения. Создание и назначение группы пользователям работает нормально.
Например, у меня есть имя группы с именем developer и внутри этой группы я установил разрешение для функции ниже, но даже после того, как это разрешение находится в группе разработчиков, и у пользователя есть роль разработчика, пользователь получает разрешение, которому отказано 403. Как это сделать?
views.pyЯ создал новую группу, подобную этой, и она прекрасно работает.
permissions = request.POST.getlist('user_permissions')
new_group = Group.objects.create(name=group_name)
new_group.permissions.set(permissions)
messages.success(request, 'New group added.')
return redirect('organization:view_user_groups')
Я назначил группу таким пользователям:
checked_groups = request.POST.getlist('groups')
user.save()
user.groups.set(checked_groups)
Я назначил разрешения, используя в своих функциях allow_required_decorator, как это.
@permission_required('organization.view_organizations', raise_exception=True)
def view_organizations(request):
organizations = Organization.objects.all()
return render(request, 'organization/view_organizations.html', {'organizations': organizations})