I have ViewSet like this
class CustomViewSet(
RouteActionArgumentsMixin,
viewsets.ModelViewSet
):
serializer_class = MySerializer
def get_queryset(self):
MyModel.objects.filter(...)
I want to add an action in this particular ViewSet which is based on the other queryset (let's say it is based on all MyModel objects).
@action(
detail=True,
methods=['post'],
serializer_class=OtherSerializer
)
def make_action(self, *args, **kwargs):
instance = self.get_object()
serializer = self.get_serializer(instance, data=self.request.data, partial=True)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(serializer.data)
How can I retrieve self.get_object()
based on all MyModel
objects? Can I change queryset for this particular action?