Добавить описание чванства в комментариях - PullRequest
0 голосов
/ 30 августа 2018

Могу ли я настроить описание сваггера по наборам комментариев? Я использую drf-yasg .

Мой код:

class MetricViewSet(viewsets.ReadOnlyModelViewSet):
    """
       retrieve:
       Получить из справочника данные записи о метрике по *uuid*

       list:
       Получить из справочника коллекцию записей о метриках
    """
    lookup_field = 'uuid'
    serializer_class = MetricSerializer
    queryset = Metric.objects.all()
    permission_classes = (ApiPermission,)

мой сериализатор

class MetricSerializer(serializers.ModelSerializer):
    """
        Metric serializer.
    """
    uuid = serializers.UUIDField(label='Global UUID', read_only=True)

    class Meta:  # pylint: disable=too-few-public-methods
        """
            Настройки сериализатора
        """
        model = Metric
        fields = ('uuid', 'creation_date', 'modify_date',
                  'name', 'description', 'enabled', 'comment')

Я хочу добавить описание здесь: enter image description here

Как я могу это сделать?

1 Ответ

0 голосов
/ 30 августа 2018

Следующее позволяет вам выполнить часть того, что вы просили. Это изменяет описания методов, параметров и ответов ViewSet с помощью swagger_auto_schema в сочетании с method_decorator Джанго .

Проверьте обе ссылки для получения дополнительной информации.

from rest_framework import viewsets
from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema

@method_decorator(name='retrieve', decorator=swagger_auto_schema(
    operation_description="Method description",
    operation_id="Method ID",
    operation_summary="Method summary",
    manual_parameters=[
        openapi.Parameter('serial', in_=openapi.IN_PATH, type=openapi.TYPE_STRING, description='Parameter description')
    ],
    responses={'200': 'Response description'}
))
class MetricViewSet(viewsets.ReadOnlyModelViewSet):
    """
       retrieve:
       Получить из справочника данные записи о метрике по *uuid*

       list:
       Получить из справочника коллекцию записей о метриках
    """
    lookup_field = 'uuid'
    serializer_class = MetricSerializer
    queryset = Metric.objects.all()
    permission_classes = (ApiPermission,)

Обновление

Я обнаружил ошибку, при которой опции operation_summary и deprecated, переданные swagger_auto_schema, фактически игнорируются, поэтому я отправил PR , чтобы исправить это.

...