创建后的 Django REST 可浏览 API 列表视图仅显示创建的实例

Posted

技术标签:

【中文标题】创建后的 Django REST 可浏览 API 列表视图仅显示创建的实例【英文标题】:Django REST browsable API List view after create only displays created instance 【发布时间】:2016-02-26 16:49:01 【问题描述】:

发布表单后,Django REST 默认的可浏览 API 行为是仅显示新创建的实例的列表视图。从 API 的角度来看,作为对创建的响应是有意义的,但我希望可浏览的界面在创建后显示列表中的所有实例。

我可以以某种方式为 html 响应自定义此行为吗?

我认为理想情况下它会显示整个列表并将新创建的实例的内容放入表单中以进行可能的更新 - 以防用户出错。

【问题讨论】:

【参考方案1】:

当然你可以自定义这个。您必须覆盖 create 方法。 一个可能的解决方案是这样的:

def create(self, *args, **kwargs)
    # call create of parent class
    super(ModelViewSet, self).create(*args, **kwargs)
    # but return the list view
    return self.list(*args, **kwargs)

【讨论】:

谢谢 - 如果我覆盖创建,我可以在检查 api 格式的格式参数后重定向到列表。

以上是关于创建后的 Django REST 可浏览 API 列表视图仅显示创建的实例的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django REST 框架可浏览 API 中发送标头

将 APIView 添加到 Django REST Framework 可浏览 API [重复]

有没有办法使用 Django REST 框架中的可浏览 API 上传文件?

如何将 Django Rest Framework 可浏览 API 接口限制为管理员用户

如何使用 Django Rest Framework 创建登录 API?

Django Rest Framework - response.set_cookie() 不在浏览器中设置 cookie,但在邮递员和可浏览 api 中工作