Как обеспечить соблюдение прав пользователей с помощью групп пользователей в 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().
Очевидно, я ошибаюсь в том, как определение "Группы" влияет на сценарий Разрешения.
Могу ли я попросить кого-нибудь помочь прояснить вопрос и как использовать группы для контроля доступа к представлениям.
Спасибо