【发布时间】:2019-04-08 20:10:35
【问题描述】:
根据 DRF 文档,我开始使用 ViewSet 并实现了list, retrieve, create, update and destroyactions。我有另一个 APIView,我可以为其编写架构 (ManualSchema),当我导航到 /docs/ 时,我可以访问文档以及进行交互的实时端点。
我希望为每个视图集操作创建单独的架构。我试着写了一个,但它没有显示出来,所以我想我错过了一些东西。
代码如下:
class Clients(viewsets.ViewSet):
'''
Clients is DRF viewset which implements `create`, `update`, `read` actions by implementing create, update, list and retrieve functions respectively.
'''
list_schema = schemas.ManualSchema(fields=[
coreapi.Field(
'status',
required=False,
location='query',
description='Accepted values are `active`, `inactive`'
),
],
description='Clients list',
encoding='application/x-www-form-urlencoded')
@action(detail=True, schema=list_schema)
def list(self, request):
'''Logic for listing'''
def retrieve(self, request, oid=None):
'''Logic for retrieval'''
create_schema = schemas.ManualSchema(fields=[
coreapi.Field(
'name',
required=False,
location='body',
),
coreapi.Field(
'location',
required=False,
location='body',
),
],
description='Clients list',
encoding='application/x-www-form-urlencoded')
@action(detail=True, schema=create_schema)
def create(self, request):
'''Logic for creation'''
【问题讨论】:
标签: django django-rest-framework core-api