DRF. Как дополнить queryset в методе retrieve из класса ModelViewSet

Нужно дополнить qs продукта связными таблицами в эндпоинте: /product/dpoduct_id. Хочется избежать повторного запроса к бд.

class ProductViewset(viewsets.ModelViewSet):

     queryset = Product.objects.all()
     serializer_class = ProductSerializer

     

     permission_classes_by_action = {'list': [AllowAny],
                                     'retrieve': [AllowAny], }

     def list(self, request, *args, **kwargs):
          return super(ProductViewset, self).list(request, *args, **kwargs)
     
     def retrieve(self, request, pk=None):
         
        #product.support.all()

         return super(ProductViewset, self).retrieve(request, pk=None)
   
     def get_permissions(self):
          try:
               # return permission_classes depending on `action` 
               return [permission() for permission in self.permission_classes_by_action[self.action]]
          except KeyError: 
               # action is not set return default permission_classes
               return [permission() for permission in self.permission_classes]


Ответы (0 шт):