Django rest framework 如何在ViewSet docstring中直接记录可能的REST操作?

Django rest framework 如何在ViewSet docstring中直接记录可能的REST操作?,django-rest-framework,openapi,drf-yasg,Django Rest Framework,Openapi,Drf Yasg,DRF提到了这一点: 请注意,使用ViewSet时,基本文档字符串用于所有 生成的视图。为每个视图提供说明,例如 在列表和检索视图中,使用docstring部分,如下所述 在模式中作为文档:示例 但是链接很糟糕,类似的链接没有提到这些“部分” 当我的单个视图集由以下内容组成时,我如何清楚地记录我的不同可能的REST操作: class ViewSet(mixins.ListModelMixin,

DRF提到了这一点:

请注意,使用ViewSet时,基本文档字符串用于所有 生成的视图。为每个视图提供说明,例如 在列表和检索视图中,使用docstring部分,如下所述 在模式中作为文档:示例

但是链接很糟糕,类似的链接没有提到这些“部分”

当我的单个视图集由以下内容组成时,我如何清楚地记录我的不同可能的REST操作:

class ViewSet(mixins.ListModelMixin,                                            
              mixins.RetrieveModelMixin,                                        
              mixins.CreateModelMixin,                                          
              mixins.UpdateModelMixin,                                        
              ):       

每个mixin都有特定的方法,如
mixin。ListModelMixin
使用
list
方法。因此,您可以像这样明确地指定文档

class视图集(mixins.ListModelMixin,
mixin.RetrieveModelMixin,
mixin.CreateModelMixin,
mixin.UpdateModelMixin,):
queryset=Model.objects.all()
序列化程序\u类=序列化程序
...
def列表(自我、请求、*args、**kwargs):
""" 
此终结点返回对象列表。。。
"""
return super(ViewSet,self).list(请求,*args,**kwargs)
如果没有任何特定的逻辑,则调用
super()
方法

  • mixin.RetrieveModelMixin
    使用
    retrieve
  • mixin.CreateModelMixin
    使用
    create
  • mixin.UpdateModelMixin
    使用
    update
    方法

我花了很长时间才从谷歌来到这里。文档字符串确实有一种特殊的格式来记录视图集的各个方法

相关的示例一定是在某个时候从文档中删除的,但我能够在源代码中找到它。它由中的函数
get_description
处理

docstring格式基于操作名称(如果定义了view.action):

如果未定义view.action,则返回方法名称:
get
put
patch
delete


每个新的部分都以小写的HTTP方法名开头,后跟冒号。

谢谢,我在想象类的docstring中有某种特殊的格式。这是对原始问题的正确答案。哇,搜索了一段时间后,我确信没有一种简单的方法可以做到这一点,而不会弄乱模式。非常感谢。不幸的是,这不适用于我的
ReadOnlyModelViewSet
"""
General ViewSet description

list: List somethings

retrieve: Retrieve something

update: Update something

create: Create something

partial_update: Patch something

destroy: Delete something
"""