django filter 字母区分大小写

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dqchouyang/article/details/78787148

今天在测试的时候,突然发现了一个怀疑人生的问题,如下:

MetaData.objects.filter(name='ON')
MetaData.objects.filter(name__exact='ON')
MetaData.objects.filter(name__iexact='ON')

以上查出来的结果中包含了name等于”ON”, “On”, “oN”的所有对象,也就是说,不区分字母的大小写。但是我印象里,我以前的查询都是区分的啊?那么问题出在哪?

对于是否应该大小写敏感,Django 并没有提供设置方法,这完全取决于后端的数据库对大小写如何处理。mysql规则中,utf8_general_ci 不区分大小写,utf8-bin、utf8_general_cs 区分大小写。

猜你喜欢

转载自blog.csdn.net/dqchouyang/article/details/78787148