【发布时间】:2018-06-02 13:58:56
【问题描述】:
我正在尝试创建一个允许用户控制我们服务器上的某些服务的中间件 Web 应用程序。为此,我在 Django 中创建了几个模型,用于跟踪服务器的当前状态或对任何给定服务有效的输入列表。
API 需要能够:
- 列出模型的所有实例
- 显示一个模型实例的详细信息
- 接受将 JSON 转换为软件指令(即“此输出列表应来自此输入”)
我不需要进一步访问数据 - 对模型详细信息的任何更改都将由超级用户通过 Django 管理界面完成,因为它只会在软件配置更改时更改。
到目前为止,我发现的所有 DRF 文档都假定 API 将用于创建和更新模型数据 - 如何仅将 DRF 用于 GET 调用和自定义操作?还是我应该放弃 DRF,只使用普通的 Django,返回 JSON 而不是 HTML?
编辑:我已经意识到我的困惑来自哪里;我误解了序列化程序与视图集的目的/功能。序列化程序将始终具有 create + update 方法,因为它们将传入数据转换为模型对象。视图集决定了可以对该对象执行的操作,因此您可以在其中启用不同的访问方法。
【问题讨论】:
-
检查django-rest-framework.org/api-guide/permissions/… 及下方,看看您是否找到任何可以满足您的需求或可以作为您实施的基础的东西。
-
@Pwnosaurus 这个问题涵盖了 GET 部分,但没有提到与模型无关的自定义操作。
标签: python django django-rest-framework