This is the correct practice to change serializer
class in ModelViewSet
:
You have to override get_serializesr_class
method:
class SavedVenuesViewSet(viewsets.ModelViewSet): serializer_class = UserVenueSerializer def get_serializer_class(self): if not self.get_queryset(): # Check your conditions here return UserListSerializer else: return UserVenueSerializer