Как проверить, присутствует ли вошедший пользователь в группах в представлениях на основе классов (viewsets.ModelViewSet)?

У меня есть представление на основе классов

class JobViewSet(viewsets.ModelViewSet):
    queryset = Job.objects.all()
    serializer_class = JobSerializer
    permission_classes = (IsAuthenticated,)

У меня есть 2 группы пользователей (реализованные с помощью django.contrib.auth.models Group), 'company' и 'customer'. В каждом представлении мне нужно проверить, принадлежит ли пользователь к определенной группе. Возможно ли это сделать с помощью пользовательских permission_classes.

Спасибо.

Да, можете. Вы можете увидеть это здесь. Что-то вроде :

class IsCompany(permissions.BasePermission):
    """
    Check if user is in company group
    """

    def has_permission(self, request, view):
        user = request.user
        is_company = user.groups.filter(name='company')
        return is_company
Вернуться на верх