加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:31:28 所属栏目:Python 来源:网络整理
导读:我有一个使用Django和Django REST Framework构建的API.我有一个模型返回一些构建的JSON,它与典型的Django模型不对应.因此,似乎利用有关Django模型的知识的自动文档功能对我的一些视图不起作用. 特别是,我有一个viewset返回一些典型的API视图(如对象列表),以

我有一个使用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):
        ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读