gpt4 book ai didi

python - DRF - `write_only=True` 在响应模式中显示

转载 作者:行者123 更新时间:2023-12-03 14:49:32 25 4
gpt4 key购买 nike

我正在使用 drf-yasg记录我的 API。但是,我遇到了一个问题

我有一个序列化程序,其中一个字段设置为 write_only=True .

class XYZSerializer(serializers.ModelSerializer):
status = serializers.BooleanField(default=True, write_only=True)

class Meta:

model = XYZ
fields = ('id', 'status')

生成 swagger 文档时,字段 status仍然显示在响应字段中。从技术上讲,它不应该。

如何纠正这个?

最佳答案

不久:
drf-yasg 的开发者有 answered关于它。 OpenAPI 2.0 规范中的问题,您可以使用 https://github.com/tfranzel/drf-spectacular (它支持 OpenAPI 3.0)而不是 drf-yasg。
您可以仅为装饰器创建特殊的序列化程序

@swagger_auto_schema(responses={200: CustomResponseSerializer()})
或使您的序列化程序的字段动态化( Django Rest Framework: Dynamically return subset of fields )并像这样在 View 集中装饰 Action
@swagger_auto_schema(responses={200: YourSerializer(fields=['some_field_name', 'another_...')})
也在 https://github.com/axnsan12/drf-yasg/issues/70您可以从 https://github.com/axnsan12/drf-yasg/issues/70#issuecomment-698288806 找到另一种方式

关于python - DRF - `write_only=True` 在响应模式中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51285717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com