django rest framework: как сгенерировать схему из типов сериализатора? - PullRequest
0 голосов
/ 20 ноября 2018

Я добавил django-rest-swagger в свой проект django-rest-framework, следуя инструкциям.Графический интерфейс выглядит нормально, но у описания запроса, который, кажется, автоматически генерируется из поля APIView s get_serializer, есть некоторые проблемы.В частности,

  • вложенные объекты игнорируются и отображаются как {}
  • все типы string просто перечислены как string, игнорируя поле openapi format

Так, например, для этого сериализатора

class NestedSerializer(Serializer):
    firstname = StringField()

class RequestSerializer(Serializer):
    name = NestedSerializer()
    date = DateField()
    choice = ChoiceField(['aa', 'bb', 'cc'])

GUI показывает запрос как

name: {}
date: string
choice: string

Я что-то упустил, или проект действительно не делаетподдержка более конкретных типов?

1 Ответ

0 голосов
/ 04 июля 2019

Я не уверен, что вы импортировали правильные поля сериализаторов.Похоже, StringField() не входит в комплект rest_framework.serializers.

Более того django-rest-swagger помечен как устаревший.Как владелец django-rest-swagger репо django-rest-swagger, вы должны использовать drf-yasg , который поддерживает оба:

  • вложенные сериализаторы
  • ChoiceField()
...