SearchFilter
2018-03-02 本文已影响0人
lkning
SearchFilter `类支持简单的单一查询参数基于搜索和基于 Django管理的搜索功能 。
在使用时,将包括一个可浏览的API SearchFilter
控制:
SearchFilter
类才会应用如果视图 search_fields
属性集。search_fields
属性应该是一个文本输入字段的名称列表模式,如 CharField
或 TextField
框 。
这将允许客户端通过查询过滤列表中的项目如:
http://example.com/api/users?search=russell
您还可以执行相关的查找ForeignKey或ManyToManyField查找API双下划线符号:
search_fields = ('username', 'email', 'profile__profession')
认情况下,将使用大小写不敏感的部分匹配搜索。 搜索参数可能包含多个搜索词,它应该是空格或逗号分隔。 如果使用多个搜索条件,那么将返回对象列表中只有所有提供的条件相匹配。
搜索行为可能会限制通过将各种角色 search_fields 。
- “^”开头·搜索。
- “=”精确匹配。
- “@”全文搜索。 (目前只支持Django的MySQL后端)。
- “$”正则表达式搜索。
例如:
search_fields = ('=username', '=email')
默认情况下,搜索参数命名 serch
,但这可能是覆盖 SEARCH_PARAM
设置。