【问题标题】:Can we use same serializer for POST, PUT & GET?我们可以为 POST、PUT 和 GET 使用相同的序列化程序吗?
【发布时间】:2017-06-07 23:48:32
【问题描述】:

我们可以使用相同的序列化程序来创建、更新和获取资源吗?这样做是最佳做法吗?

【问题讨论】:

  • PostPutGet 都与视图集所做的事情有关,您只需要在 ModelViewSet 上指定一个序列化程序。那么当你尝试时发生了什么?

标签: django rest api django-rest-framework


【解决方案1】:

我们可以使用相同的序列化程序来创建、更新和获取资源吗?

为什么,是的,当然。更重要的是,我们可以使用完全相同的序列化程序来部分更新(PATCH)和删除(DELETE)资源。

这是因为序列化程序实际上并不“知道”所有这些操作,它只是对数据进行序列化和反序列化——它是处理 http 方法的视图。

这样做是最佳做法吗?

这绝对不是坏习惯。

但是这样好吗?这实际上取决于您对每种行为的期望类型,是否有嵌套对象等。

我强烈建议您阅读更多文档,尤其是关于 ModelSerializer 的内容。

祝你好运。

【讨论】:

    猜你喜欢
    • 2015-10-18
    • 2012-07-31
    • 2013-02-22
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多