在Django'包含'查询中包含通配符(%)

时间:2018-07-12 22:22:33

标签: django django-queryset

根据Django文档

Entry.objects.get(headline__contains='Lennon')

大致翻译为以下SQL:

SELECT ... WHERE headline LIKE '%Lennon%';

但是,如果我想做这样的事情(删除通配符):

SELECT ... WHERE headline LIKE '%Lennon';

Django查询将是什么?

1 个答案:

答案 0 :(得分:1)

您要查找的部分字段查找的关键字为startswithendswith

Entry.objects.filter(headline__startswith='Lennon')
Entry.objects.filter(headline__endswith='Lennon')

您还可以使用不区分大小写的变体istartswithiendswith

Entry.objects.filter(headline__istartswith='lennon')
Entry.objects.filter(headline__iendswith='lennon')