Tastypie自定义授权中的create_list指的是什么?
What does create_list refer to in Tastypie's custom authorisation?
我一直在研究Tastypie API documentation for custom authorisation。
有八种可能的方法来实现创建自定义授权class。
read_list
read_detail
create_list
create_detail
update_list
update_detail
delete_list
delete_detail
我真的很难理解每一种方法的语义。它们与 HTTP 动词(GET、POST、PUT、PATCH、DELETE...等)的对应关系如何?
最初,我认为 *_list
方法可能意味着...
Give me a list of all objects that the user can [create, read, update, delete]
但是 "create" 案例...
Give me a list of all objects that the user can create
...真的没有意义,因为对象已经被创建了。为了使我的解释有意义,这必须是用户 可以 创建的所有可能对象的列表(这显然是不可行的)。
那么 create_list
到底是什么意思呢? create_detail
和 create_list
有何不同?
感谢您的澄清!
这个问题是关于哲学和概念的,实际上有3个问题,但让我尽量简单地回答你的问题。
*_list 与 *_detail:
*_list 方法是用户有权访问的对象的过滤器。
*_detail 方法是布尔值,告诉我们是否可以访问确切的对象。
示例:
read_list - 过滤对象,用户将在 网站上看到。com/api/v1/cool_object/
read_detail - 告诉我们是否允许用户查看 site.com/api/v1/cool_object/2
将 CRUD 映射到 HTTP(Tastypie):
创建 - POST
阅读 - 获取
UPDATE - PUT(上传新实体)/PATCH(发送更改仅限字段)
删除 - 删除
为什么 create_list:
添加该方法只是为了统一和一致。所以你认为它没有实际意义是对的。
我们甚至可以在 tastypie/authorization.py:
中查看
def create_list(self, object_list, bundle):
"""
Unimplemented, as Tastypie never creates entire new lists, but
present for consistency & possible extension.
"""
我一直在研究Tastypie API documentation for custom authorisation。
有八种可能的方法来实现创建自定义授权class。
read_list
read_detail
create_list
create_detail
update_list
update_detail
delete_list
delete_detail
我真的很难理解每一种方法的语义。它们与 HTTP 动词(GET、POST、PUT、PATCH、DELETE...等)的对应关系如何?
最初,我认为 *_list
方法可能意味着...
Give me a list of all objects that the user can [create, read, update, delete]
但是 "create" 案例...
Give me a list of all objects that the user can create
...真的没有意义,因为对象已经被创建了。为了使我的解释有意义,这必须是用户 可以 创建的所有可能对象的列表(这显然是不可行的)。
那么 create_list
到底是什么意思呢? create_detail
和 create_list
有何不同?
感谢您的澄清!
这个问题是关于哲学和概念的,实际上有3个问题,但让我尽量简单地回答你的问题。
*_list 与 *_detail:
*_list 方法是用户有权访问的对象的过滤器。
*_detail 方法是布尔值,告诉我们是否可以访问确切的对象。
示例:
read_list - 过滤对象,用户将在 网站上看到。com/api/v1/cool_object/
read_detail - 告诉我们是否允许用户查看 site.com/api/v1/cool_object/2
将 CRUD 映射到 HTTP(Tastypie):
创建 - POST
阅读 - 获取
UPDATE - PUT(上传新实体)/PATCH(发送更改仅限字段)
删除 - 删除
为什么 create_list:
添加该方法只是为了统一和一致。所以你认为它没有实际意义是对的。
我们甚至可以在 tastypie/authorization.py:
中查看def create_list(self, object_list, bundle): """ Unimplemented, as Tastypie never creates entire new lists, but present for consistency & possible extension. """