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]