Python 如何描述DRF文档中的参数

Python 如何描述DRF文档中的参数,python,django,documentation,django-rest-framework,Python,Django,Documentation,Django Rest Framework,我使用的是Django REST Framework v3.6内置的交互式文档Django_REST_Framework。文档(不Django REST swagger) 基本上,我遵循并在我的URLset配置中使用以下内容: from rest_framework.documentation import include_docs_urls urlpatterns = [ url(r"^", include_docs_urls(title="My API")), ... ]

我使用的是Django REST Framework v3.6内置的交互式文档
Django_REST_Framework。文档
Django REST swagger

基本上,我遵循并在我的URLset配置中使用以下内容:

from rest_framework.documentation import include_docs_urls

urlpatterns = [
    url(r"^", include_docs_urls(title="My API")),
    ...
]
一切似乎都很正常,我得到了一个很好的交互式文档页面,但我有一个带有
lookup\u field=“slug”
ViewSet
,关于生成的文档,有一件事困扰着我:

我想从描述中得到一些有用的信息,比如“一个唯一的永久分配的字母数字ID”或者这些行中的一些东西,但是找不到这些数据来自的任何文档

有一个解决办法,但我真的不想。我想用漂亮的docstring声明我的类,并自动生成文档。我还发现了一个建议,将
slug放在docstring中——这里是说明
,但它似乎不起作用——文本只是与标记格式的说明的其余部分一起出现

所以。。。我想知道两件事:

  • (一个具体问题)我在哪里填写此路径参数描述
  • (同一问题的更一般版本)了解如何从代码自动生成模式的最佳方法是什么

  • 哦,我找到了。回答我自己的问题

    DRF文档在这个问题上并不冗长(或者我错过了它所在的部分),但是它提到了,而且似乎这个类确实做了所有的内省工作。幸运的是,源代码结构良好,易于阅读

    这些路径字段由方法生成(我通过跟踪执行路径找到它:
    get\u schema
    → <代码>获取链接→ <代码>获取链接),我找到了描述属性

    因此,在我的模型中,我指定了:

    class MyResource(models.Model):
        slug = models.CharField(unique=True, help_text=_("unique alphanumeric identifier"))
        ...
    

    成功了

    有一件重要的事情还没有解决。描述确实来自
    help\u text
    属性,但这还不够。我发现模式生成器依赖于属性来确定模型。所以,请记住,即使您不需要它,您也需要定义它。例如,如果使用
    APIView

    这一半对我有用。它对对象主键没有影响。查看您提供的链接,它会根据使用的主键类型(在我的例子中是UUID)自动计算出描述。很遗憾,这只是一个空白。