【发布时间】:2014-02-06 13:54:54
【问题描述】:
我正在使用 Django-Tastypie 构建 RESTful API。我正在使用extra actions 进行更多操作。当我将http_method 作为GET 传递时,我得到一个id 字段,在某些情况下我需要它,但在某些情况下我不需要它,因为我想在某些特定过滤结果中获得所有结果在一些。
所以,当我需要所有结果时,id 参数不应该在那里。当我需要过滤结果时,它应该在那里(它已经在那里)。所以,我的问题是当我需要所有结果时,如何删除 id 字段?
上面写着
如果resource_type 被声明为“list”,那么端点将不会在uri 或参数列表中包含
{id}参数。这适用于诸如上述示例的端点,这些端点过滤或执行跨多个项目的操作。如果省略了 resource_type 且 http_method 为“GET”,则端点将默认为“view”,并在 uri 和参数列表中包含{id}参数。
但这只是在URI的情况下,它仍然需要一个id字段,即使我将resouce_type声明为list。
以下是屏幕截图:-
当resouce_type 声明为list。看看 URI 中没有 {id}。但我希望在字段中不应该有 id。
我该怎么做?
另外,我正面临另一个问题。我有一个通过ManyToManyField 关系与另一个字段相关的字段,这意味着我需要为该字段提供一个值列表。但它不需要一个 LIST,而是它本身需要一个字符串值。我已经为此本身上传了屏幕截图。请让我知道这个黑客。谢谢。
在这种情况下,installation_id 通过ManyToManyField 关联。它显示related,但我希望它应该接受一个值列表(installation_id)。我该怎么做?
为什么 delete 没有 id?我的意思是它显示id,但没有输入任何内容的字段。
【问题讨论】:
-
我现在没有空闲时间,但我认为这是我的代码,所以我会在这个问题上加注星标,并在几个小时后回来。
-
你能发布
extra_actionsdict吗? -
看起来你发现了一个错误!请参阅下面的答案,了解如何克隆存储库并进行更改。我将在这个 repo 上打开一个问题。
-
Issue #49 为此打开。