Hi.
This approach isn’t going to work with ViewSets. As you have seen, ManualSchema will be applied to each route, with no ability to scope per-action. (This is more a problem with ViewSets than anything else…)
Instead you need to subclass either ManualSchema or AutoSchema and override `get_link` (or for AutoSchema maybe `get_manual_fields`) to inspect `self.view.action`, and provide the appropriate fields.
Something like:
if self.view.action == ‘list’:
# … create the fields for the list action…
else:
# … create the fields for read action...
I hope that helps.