首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DRF正则搜索

DRF正则搜索
EN

Stack Overflow用户
提问于 2018-07-05 11:37:18
回答 1查看 1.7K关注 0票数 2

我需要按一定的顺序搜索和返回我的产品,并且有一个处理搜索的正则表达式,问题是,我不知道如何将它应用到DRF search_filters中的搜索字段中。

下面是我想使用"^(?P<name>\w+ ?,?)"的正则表达式--任何以输入的文本开头并可能以空格或逗号结尾的名称。如果可能的话,我也想应用一个令牌排序,所以“大米”、“大米”和“大米”在“蓖麻”之前返回。

我试图像那样使用正则表达式( regex ),但我得到的只是一个类似于search_fields = ['^(?P<name>\w+ ?,?)']的错误。

DRF声明,要使用regex,我需要使用"$name",并有一个链接到django文档,其中包含关于如何使用regex (字段)构造搜索字段的0信息。

我应该如何构建search_fields

EN

回答 1

Stack Overflow用户

发布于 2018-07-05 12:16:58

默认情况下,DRF将返回对搜索字段不区分大小写的部分匹配,搜索参数可能包含多个搜索项,它们应该是分隔的空格和/或逗号。如果使用多个搜索项,则只有在所有提供的条件都匹配时,才会在列表中返回对象。

  1. “^”从搜索开始。
  2. 准确的匹配。
  3. @@全文搜索。(目前只支持Django的MySQL后端。)
  4. '$‘Regex搜索。

示例:

代码语言:javascript
复制
search_fields = ('=username', '=email')

您可以找到更多的搜索模式和如何使用这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51190378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档