如何告诉Django在查询中不转义 % 和 _
我想在我的Django查询中使用通配符来进行搜索。但是文档上说:
Entry.objects.filter(headline__contains='%')
这会生成类似下面的SQL语句:
SELECT ... WHERE headline LIKE '%\%%';
我该如何告诉Django在查询中不要转义%和_这两个符号?或者在Django中有没有其他方法可以实现通配符搜索(除了直接写SQL)?
2 个回答
0
你可以使用 extra()
方法来插入一个自定义的条件语句:
Entry.objects.extra(where="headline LIKE '%'")
1
headline__contains='%'
这段意思是说,标题里面可以包含任何东西,对吧?那这样的话,为什么还要把它放在查询里呢?