【发布时间】:2019-05-07 00:01:21
【问题描述】:
我正在尝试编写搜索视图以通过在 sqlite 表的 CharField 中使用 icontains 进行过滤来查找记录。但是有些记录以 'İ' 开头,当用户使用 'i' 而不是 'İ' 提交搜索表单时,查询集什么也不返回。
如果记录以“i”开头,则视图运行正确。
我还使用 LIKE 对同一个表运行 SQL 查询,但查询没有返回任何结果。
Django 2.0 Sqlite 3
编辑 1: icontains 不区分大小写,但如果单词有 'i' 字符,它会测试 'I',但我需要它来测试 'İ'。此外,它不会测试您是否为“I”键入“ı”。
我改变了我的观点并为“i”添加了这个代码 - “İ”并且它有效。但是这个问题必须有其他解决方案,而不是这种解决方法。
if query.startswith('i'):
text = query[:0] + 'İ' + query[1:]
【问题讨论】:
标签: django sqlite django-queryset django-2.0