如果我在数据库中有两条记录,比如00和something00。如果我写下00或者其他东西,我想得到它们两个。我试过了:
Item.objects.filter(name__icontains="something 00")
但它不起作用,我只得到一个结果。还有其他解决方案吗?
答案 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(' ',''))
这应匹配something00
和something 00
等任何内容。
Fyi,这是一个很好的网站,我用它来检查我的正则表达式(我与他们没有任何关系):http://regexr.com/