gpt4 book ai didi

django过滤器icontains仅匹配整个单词

转载 作者:行者123 更新时间:2023-12-04 04:36:03 24 4
gpt4 key购买 nike

我正在使用过滤器icontains搜索单词,但我只希望它与整个单词匹配。例如如果我搜索肝脏,我不希望它退货。

我的查询看起来像这样

MyModel.objects.filter(title__icontains=search_word)

我已经看到了 __search过滤器,但这并没有带回3个字符以内的结果,而我正在构建的网站包含很多可以搜索到的结果,例如'bbc'

我没有访问数据库的权限,但是如果有人知道如何在代码中禁用此功能,那么我很乐意切换到使用此选项。

最佳答案

正则表达式通常就足够了:
http://docs.djangoproject.com/en/dev/ref/models/querysets/#regex

请注意,正则表达式语法是使用的数据库后端的语法。

在python(sqlite)中,regexp将是:

\b(word)\b

在Mysql中,您有:
mysql> SELECT 'a word a' REGEXP '[[:<:]]word[[:>:]]';   -> 1
mysql> SELECT 'a xword a' REGEXP '[[:<:]]word[[:>:]]'; -> 0

关于django过滤器icontains仅匹配整个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2958214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com