【发布时间】:2017-06-07 23:48:32
【问题描述】:
我们可以使用相同的序列化程序来创建、更新和获取资源吗?这样做是最佳做法吗?
【问题讨论】:
-
Post、Put和Get都与视图集所做的事情有关,您只需要在ModelViewSet上指定一个序列化程序。那么当你尝试时发生了什么?
标签: django rest api django-rest-framework
我们可以使用相同的序列化程序来创建、更新和获取资源吗?这样做是最佳做法吗?
【问题讨论】:
Post、Put 和 Get 都与视图集所做的事情有关,您只需要在 ModelViewSet 上指定一个序列化程序。那么当你尝试时发生了什么?
标签: django rest api django-rest-framework
我们可以使用相同的序列化程序来创建、更新和获取资源吗?
为什么,是的,当然。更重要的是,我们可以使用完全相同的序列化程序来部分更新(PATCH)和删除(DELETE)资源。
这是因为序列化程序实际上并不“知道”所有这些操作,它只是对数据进行序列化和反序列化——它是处理 http 方法的视图。
这样做是最佳做法吗?
这绝对不是坏习惯。
但是这样好吗?这实际上取决于您对每种行为的期望类型,是否有嵌套对象等。
我强烈建议您阅读更多文档,尤其是关于 ModelSerializer 的内容。
祝你好运。
【讨论】: