Django. get_permission

У меня есть проблема, вызывающая 7 лишних sql запросов.

В функции get_permission я достаю из параметров url первичный ключ модели и после забираю запись из модели по этому ключу, однако, эта операция как и get_permission выполняется 7 раз и я не могу понять в чем дело, и должно ли так быть, может есть какой то процесс выполняющийся до get_permission единожды, и который позволит передать в последствие в get_permission запись из модели

Code of view:

class AnswerAPIViewSet( viewsets.ModelViewSet ):
""" Набор представлений, для модели Answers """

queryset = Answers.objects.select_related( 'creator', 'phor' )

def get_permissions(self):
    pk_of_user_of_client = self.kwargs.get( 'pk_of_user_of_client' )
    user_of_client = get_user_of_client_by_pk( pk_of_user_of_client )

    self.kwargs['user_of_client'] = user_of_client
    client = self.request.user

    if self.action in ( 'destroy', 'change', 'create' ):
        if not check_UserOfClient_belongs_to_client( client = client, user_of_client = user_of_client ):
            return ( permissions.IsAdminUser(), )

    if self.action == 'create':
        return ( permissions.IsAuthenticated(), )

    elif self.action in ( 'destroy', 'change', ):
        return ( permissions.SpecialPermissionForAnswer(), )
    
    return ( permissions.AllowAny(),)
Вернуться на верх