我想使用 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/