Как обеспечить соблюдение прав пользователей с помощью групп пользователей в Django Class Based Views

В моем приложении Django я создал группы и назначил (выборочно) разрешения группам. А затем назначил группы пользователям. Эти шаги были выполнены в админке приложения.

Теперь я пытаюсь ограничить определенные представления для пользователей (используя CBV) следующим образом:

class UomListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
    template_name = "..." 
    context_object_name = 'unit_meas'
    model = U_o_M

    permission_required = 'myapp.view_u_o_m'

    def get_queryset(self):
       return U_o_M.objects.order_by('uom')

Как и ожидалось, я могу ограничить доступ к представлению пользователям, которым назначено разрешение "myApp.view_u_o_m".

Мое понимание системы таково, что если пользователь присоединен к группе, которая имеет разрешение "view_u_o_m", ему автоматически должна быть присвоена привилегия доступа к представлению.

Цитата (со страницы Admin > Change User):

Группы, к которым принадлежит данный пользователь. Пользователь получает все разрешения предоставленные каждой из его групп.

Однако, когда я удаляю строку permission_required = 'myApp.view_u_o_m', ожидая, что разрешение пользователя сохранится, но этого не происходит, и я получаю ошибку, говорящую

Виду не хватает атрибута permission_required. Определите... или переопределите .get_permission_required().

Очевидно, я ошибаюсь в том, как определение "Группы" влияет на сценарий Разрешения.

Могу ли я попросить кого-нибудь помочь прояснить вопрос и как использовать группы для контроля доступа к представлениям.

Спасибо

Вернуться на верх