0

I have a viewset for stocks by ticker/company which corresponds to the urls. localhost:8000/stocks/AAPL works for example.

what I want is an extra action to route to localhost:8000/stocks/AAPL/income_statement, but I cant figure out how to create the extra action using the detail_route decorator below.

I've commented in the code base where I am having troubles

views.py

class StockViewSet(viewsets.ModelViewSet):
    queryset = Stock.objects.all()
    serializer_class = StockSerializer

    # !!! this is what I don't know what to do !!!!
    @detail_route(methods=["get"])
    def get_is(self, request, statement):
        stock = self.get_object()
        serializer = IncomeStatementSerializer(data=request.data)
        if serializer.is_valid():
            return Response(serializer.data)

urls.py

router = DefaultRouter()
router.register(r"stocks", views.StockViewSet)
urlpatterns = router.urls
Aran Freel
  • 3,085
  • 5
  • 29
  • 42

0 Answers0