from rest_framework.permissions import BasePermission class UserPermission(BasePermission): def has_permission(self, request, view): if view.action in [ 'update_fact', 'update_postamat_id', 'update_status', 'retrieve', 'update', 'partial_update', 'destroy', 'create', ]: return request.user.groups.filter(name='Редактор').exists() else: return request.user.groups.filter( name__in=('Зритель', 'Редактор'), ).exists()