创建后的 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 列表视图仅显示创建的实例的主要内容,如果未能解决你的问题,请参考以下文章