我创建了一个名为的自定义字段PictureField
,它使用上传的图像创建缩略图,并在我的User
模型
用户模型中使用它:
class User(AbstractBaseUser):
profile_image = PictureField(make_thumbnail=True)
My PictureField
, 获取一个图像文件,django's ImageField
并返回一个像这样的字典:
{
"image": {
"url": "string",
"name": "string"
},
"thumbnail": {
"url": "string",
"name": "string"
} | None
}
一切都很好,我的自定义字段工作正常。我的问题是用 drf_spectacular 创建的模式。我不知道如何将此输出设置为我的PictureSerializerField
. 已经,我将@extend_schema_field
我的字段的装饰器设置为BINARY
(以便能够使用 Swagger 上传文件),并且我的响应输出设置为“字符串”:
@extend_schema_field(OpenApiTypes.BINARY)
class PictureSerializerField(ImageField):
...
现在,我的 Swagger 文档看起来像这样:
我正在寻找类似下面的内容来向 Response 显示我的输出,并且我还能够在请求中上传文件:
@extend_schema_field({
'request':OpenApiTypes.BINARY,
'response': {}# My output example that I said above
})
我的想法是创建一个空的序列化程序类并设置@extend_schema_serializer
它,但我认为这不是好方法并且不起作用。