I have a ViewSet with extra action shown below
class Parent(
mixin.CreateModelMixin,
mixin.ListModelMixin,
mixin.RetrieveModelMixin,
viewset.GenericViewSet
):
queryset = Model.objects.all()
serializer_class = ParentSerializer
...
...
@action(detail=True, methods=["get", "post"], serializer_class=SomeSerializerclass)
def extra(self, request, *args, **kwargs):
if request.method == "GET":
.... do something
else: # request.method is POST
.... do something
...
I want to add few optional query parameters to this extra action endpoint like:
parent/1/extra/?name=somename and this will filter the data for this name if request.method is GET. Also, this query param can be multiple like: parent/1/extra/?name=somename&surname=foo
How can I achieve this?