Django istartswith utf8无法正常工作

时间:2018-05-21 15:50:07

标签: django

我有这个查询不区分大小写的搜索:

groups = Group.objects.filter.filter(name__istartswith=query)

它适用于英文字符。但不适用于utf-8俄语字符(没有错误 - 只有区分大小写的搜索使用相同的代码) 我该怎么办?

UPD:作为测试数据库,我使用sqlite。我想这里有问题。 但可能有一些解决方法吗?

1 个答案:

答案 0 :(得分:0)

摘自SQLite ICU Extension的文档:

这两个函数的SQLite内置实现仅提供英语中使用的26个字母的大小写映射。此扩展程序提供的基于ICU的功能可为所有范围的Unicode字符提供大小写映射。

ICU提供了两种类型的案例映射,“常规”案例映射和“特定于语言”。有关两者之间的区别,请参阅ICU文档。

本质上,您需要确保使用的是使用ICU支持编译的SQLite版本,以执行不区分大小写的排序规则。