首页 > 解决方案 > Django 的“精确”字段查找是否执行不区分大小写的搜索?

问题描述

根据我在 Django 手册上阅读的内容,我认为exact字段查找会执行区分大小写的搜索,但是,当我这样做时

FormZBaseElementExtraLabel.objects.filter(label__exact='his6')

我得到以下输出

<QuerySet [<FormZBaseElementExtraLabel: HIS6>]>

显然不区分大小写,实际上与默认的filter or相同iexact

关于可能是什么问题的任何想法?

谢谢

标签: django

解决方案


感谢大家的回答。事实上,我已经意识到我使用 MySQL (MariaDB) 和 collat​​ion utf8mb4_unicode_ci,这解释了为什么exact查询查找不区分大小写。

如所指出的,在不更改基础数据库(或其某些列)的排序规则的情况下,以下搜索区分大小写FormZBaseElementExtraLabel.objects.filter(label__contains = 'his6').filter(label = 'his6')或者,可以使用此处解释的 raw 方法运行自定义查询。


推荐阅读