python - 为什么使用 icontains 过滤 django 区分大小写?

标签 python mysql django

我想使用 icontains 过滤查询集,因为我不希望过滤区分大小写:

some_title = "Foo"
result = Article.objects.filter(title__icontains=some_title)

标题为“foo”的文章不在结果中。为什么? 我正在使用 Django (1.9.12)。

最佳答案

我使用的是 Mysql 数据库,排序规则设置为 X_bin。我更改了文章表的排序规则:

ALTER TABLE articles CHARACTER SET utf8 COLLATE utf8_general_ci;

应用于所有列:

ALTER TABLE articles CONVERT TO CHARACTER SET utf8;

不知何故,旧排序规则使用另一种不考虑字母大小写的字符串比较方法。新的排序规则 utf8_general_ci 可以。

关于python - 为什么使用 icontains 过滤 django 区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47152082/

相关文章:

php - jQuery 全日历 : how to save dragged and re-sized items

python - 使用序列创建 Numpy 数组

Python 数字到单词,例如 10K、10.65M

python - 将文件保存为没有表单的 FileField

mysql - Spring批处理xlxs文件到MySql数据库

django - 使用 django.db.connection.queries

python - 使用 Python 的正则表达式 : findall inside a boundry

php - INNER JOIN 唯一列 mysql

django - 使用 django request.META 附加一个新的 Http header

django - 在 Django 中过滤结果时,如何将 DateTime 对象与 UNIX 时间戳进行比较?