python – 用于viewset视图的Django Rest Framework自定义模式

前端之家收集整理的这篇文章主要介绍了python – 用于viewset视图的Django Rest Framework自定义模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个使用Django和Django REST Framework构建的API.我有一个模型返回一些构建的JSON,它与典型的Django模型不对应.因此,似乎利用有关Django模型的知识的自动文档功能对我的一些视图不起作用.

特别是,我有一个viewset返回一些典型的API视图(如对象列表),以及一些返回一些自定义对象的视图.我想为这些自定义对象构建文档,但我不确定如何覆盖视图集中特定端点的模式.如何覆盖为DRF视图集中的单个视图生成的模式?

DRF seems to provide this functionality for views,但我想为Viewsets做同样的事情.

最佳答案
好的,经过大量的尝试 – 失败 – 重试后,我终于让它工作 – 你失去了一些自动(神奇)内省,比如id路径参数和从文档字符串中获取的描述,但我还是值得的:

custom_schema = ManualSchema(
    fields=[
        coreapi.Field(
            "id",required=True,location="path",schema=coreschema.String(
                title="ID",description="Foobar ID.",)
        ),coreapi.Field(
            "foobar",location="query",schema=coreschema.String(
                title="Foobar",description="Foobar?",],description="Foobar!",)


class FoobarViewSet(viewsets.ReadOnlyModelViewSet):

    @action(methods=["get"],detail=True,schema=custom_schema)
    def foobar(self,request,id=None):
        ...
原文链接:https://www.f2er.com/python/438873.html

猜你在找的Python相关文章