如何让Django SQL查询同时使用不区分大小写和包含?
假设我在数据库里有两个用户,用户名分别是 'AbA' 和 'aBa'。我的查询词是 'ab'。
我使用了
User.objects.filter(username__contains='ab')
和
User.objects.filter(username__iexact='ab')
这两个查询都没有结果。不过,我想用类似 username__contains__iexact='ab'
的方式来找到 'AbA' 和 'aBa' 这两个用户名。
有没有人知道怎么解决这个问题?谢谢。
2 个回答
14
icontains
是不区分大小写的 - http://docs.djangoproject.com/en/dev/ref/models/querysets/#std:fieldlookup-icontains
75
使用:
User.objects.filter(username__icontains='ab')