我想通过向每个项添加允许的操作来扩展标准ListAPIView
,以便在GET /books/
上返回的JSON大致如下所示:
[
{
"ID": 1,
"name": "Animal Farm",
"author": "George Orwell",
"actions": [
"detail": {
"method": "GET"
"uri": "/books/1"
},
"remove": {
"method": "DELETE"
"uri": "/books/1"
}
...
]
},
...
]
通过拥有这样的“动作列表”,我可以很容易地告诉前端当前允许哪些动作,以便它可以。 G。仅包含这些操作的按钮。
我浏览了DRF文档但找不到类似的功能。我应该从头开始写它还是有第三方插件可以帮助我?从头开始编写时,您将如何设计(=在哪里编写代码)这样的功能?
当你使用OPTIONS
方法时,DRF支持你,你可以找到更多信息here。您可以看看这个SimpleMetadata
函数如何创建操作列表,并根据它自己编写,从头开始编写,或者只是find a way to call it to render the action list。
我不确定,如果DRF中有这样的插件(也许是序列化器的东西?)。
如果从头开始写,你应该覆盖你的get()
方法ListAPIView
(或list()
的mixins.ListModelMixin
方法)