Django中MySQL的'LIKE'用法
我刚接触Django,
我想问的是,如何在Django的过滤器中实现类似于MYSQL的%LIKE%功能。
我想要的效果是这样的:
myModel.objects.filter(myField__**like**="xyz")
就像我们可以这样做:
myModel.objects.filter(myField__startswith="xyz")
这可以匹配以'xyz'开头的字符串,但我想要的是能够在myField内容的任何位置进行匹配。
我知道可以通过正则表达式和.extra()来实现,但我想要一个更简单直接的方法。
提前谢谢大家。
2 个回答
2
如果你想查找某个字段中包含特定内容的记录,可以使用 contains
操作符,比如 my_model.objects.filter(my_field__contains='xyz')
。如果你希望这个查找不区分大小写,可以使用 icontains
。
4
你可以这样做:
myModel.objects.filter(myField__contains = "xyz")
注意:__contains是区分大小写的。如果你不在乎字母的大小写,可以使用__icontains
。