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