Я использую django-rest-framework для создания своего API, в котором поддерживается массовое создание / обновление.
В этих случаях API будет принимать список объектов, таких как
[
{"foo":"bar"},
{"foo":"bar"}
]
Код, который я использую для разрешения массового apis, является лишь небольшой модификацией для добавления опции many = True для сериализатора, если данные представляют собой список. Это как:
class FooViewSet(views.ModelViewSet):
def create(self, request, *args, **kwargs):
many = isinstance(request.data, list)
if many:
serializer = self.get_serializer(data=request.data, many=True)
serializer.is_valid(raise_exception=True)
self.perform_bulk_create(serializer)
else:
................
Я использую drf_yasg для генерации API.
Но проблема в том, что сгенерированная схема продолжает определять мое тело запроса только для одной модели. Есть ли какая-либо конфигурация, чтобы генератор схемы DRF знал, что он примет тип списка?
Вот схема, сгенерированная DRF
{
"post": {
"operationId": "foos_create",
"description": "",
"parameters": [
{
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Foo"
}
}
],
"responses": {
"201": {
"description": "",
"schema": {
"$ref": "#/definitions/Foo"
}
}
},
"tags": [
"foos"
]
}
}
Я ожидаю, что схема будет массив тип Foo определение
Любая помощь будет оценена. Спасибо за ваше время.