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

Лоло

Новичок
Пользователь
Авг 9, 2020
6
0
1
#DJANGO #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())
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
мне нужно осуществить поиск по моделям catalogModel с помощью поля title без учёта регистра
"__icontains" работает не корректно в "sqlite" с кириллицей
Попробуйте использовать __iregex вместо __icontains:
Python:
catalogModel.objects.filter(title__iregex = search)
 

Форум IT Специалистов