如何在Django ORM中查询不区分大小写的数据?

305

我该如何在Django中进行查询/筛选并忽略查询字符串的大小写?

我有一个类似于以下内容的查询,希望忽略 my_parameter 的大小写:

MyClass.objects.filter(name=my_parameter)
1个回答

574

我是这样解决的:

MyClass.objects.filter(name__iexact=my_parameter)

甚至有一种方法可以将其用于子字符串搜索:

MyClass.objects.filter(name__icontains=my_parameter)

这里有一个文档链接


请问您能解释一下什么是“子字符串搜索”吗? - Rishabh Agrahari
7
你需要在字符串中搜索,例如你要搜索“beer”,你将得到“beer”和“beers”这两个匹配项。 - Ron
4
例如,"there is beer in my stomach"这样的表述。 - gornvix
5
iexact:https://docs.djangoproject.com/en/dev/ref/models/querysets/#iexact - Anupam
It is sql like - Kasper Ziemianek
2
干得好,先生。这让我头疼了3个小时 :) - ViaTech

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接