ОК, после большого количества попыток-неудачи-повторения, я наконец-то заставил его работать - вы теряете часть автоматического (магического) самоанализа, например, параметр пути id
и описание, взятое из строки документации, но я еще вещь того стоит:
custom_schema = ManualSchema(
fields=[
coreapi.Field(
"id",
required=True,
location="path",
schema=coreschema.String(
title="ID",
description="Foobar ID.",
)
),
coreapi.Field(
"foobar",
location="query",
schema=coreschema.String(
title="Foobar",
description="Foobar?",
)
),
],
description="Foobar!",
)
class FoobarViewSet(viewsets.ReadOnlyModelViewSet):
@action(methods=["get"], detail=True, schema=custom_schema)
def foobar(self, request, id=None):
...