Add `read_only` to FileField response.

openapi3
h-hirokawa 2017-12-18 20:28:34 +09:00
parent 16b697b40d
commit cae07f3eaf
1 changed files with 3 additions and 3 deletions

View File

@ -290,10 +290,10 @@ def serializer_field_to_swagger(field, swagger_object_type, definitions=None, **
err = SwaggerGenerationError("parameter of type file is supported only in a formData Parameter") err = SwaggerGenerationError("parameter of type file is supported only in a formData Parameter")
if swagger_object_type == openapi.Schema: if swagger_object_type == openapi.Schema:
# FileField.to_representation returns URL or file name # FileField.to_representation returns URL or file name
result = SwaggerType(type=openapi.TYPE_STRING, read_only=True)
if getattr(field, 'use_url', api_settings.UPLOADED_FILES_USE_URL): if getattr(field, 'use_url', api_settings.UPLOADED_FILES_USE_URL):
return SwaggerType(type=openapi.TYPE_STRING, format=openapi.FORMAT_URI) result.format = openapi.FORMAT_URI
else: return result
return SwaggerType(type=openapi.TYPE_STRING)
elif swagger_object_type != openapi.Parameter: elif swagger_object_type != openapi.Parameter:
raise err # pragma: no cover raise err # pragma: no cover
param = SwaggerType(type=openapi.TYPE_FILE) param = SwaggerType(type=openapi.TYPE_FILE)