Django过滤器没有间距

时间:2017-07-12 15:57:38

标签: python django

如果我在数据库中有两条记录,比如00和something00。如果我写下00或者其他东西,我想得到它们两个。我试过了:

Item.objects.filter(name__icontains="something 00")

但它不起作用,我只得到一个结果。还有其他解决方案吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

Stream

修改

list_of_string = ['something', '00']
Item.objects.filter(name__icontains=list_of_string)

答案 1 :(得分:0)

https://stackoverflow.com/a/30224493/2824391获取答案并修改为您的案例......

您需要做的是修剪搜索查询中的任何空格,然后使用该答案的正则表达式,如下所示:

search_term = 'something 00'
Item.objects.filter(name__iregex=r'%s[\s\w]+' % search_term.replace(' ',''))

这应匹配something00something 00等任何内容。

Fyi,这是一个很好的网站,我用它来检查我的正则表达式(我与他们没有任何关系):http://regexr.com/