Как реализовать поиск по подстроке в строке из модели без учёта регистра в sqlite на кириллице?

У меня есть модель с полем CharField:
class catalogModel(models.Model):
    title = models.CharField('Name', max_length = 100, null = True)

и мне нужно осуществить поиск по моделям catalogModel с помощью поля title без учёта регистра
# поисковой запрос
search = request.GET['search']
catalogModel.objects.filter(title__icontains = search)


Только вот проблема, что "__icontains" работает не корректно в "sqlite" с кириллицей (учитывает регистр, хоть и не должен).
Я думал фильтровать по title переводя в верхний регистр его и поисковой запрос, типа:
# поисковой запрос
search = request.GET['search']
catalogModel.objects.filter(title__ВЕРХНИЙ_РЕГИСТР__icontains = search.upper())
  • Вопрос задан
  • 502 просмотра
Пригласить эксперта
Ответы на вопрос 1
alfss
@alfss
https://career.habr.com/alfss
Сделать доп поле. В нем все приводить к нижнему регистру и искать по нему.

Еще можно создать title как COLLATE NOCASE
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы