Проблема следующая: делаю поиск по названию и категории организации, поиск должен быть не чувствительным к регистру. С латиницей всё ок, а вот кириллица остается регистрочувствительной.
class CompanyViewSet(viewsets.ReadOnlyModelViewSet):
"""
Return a list of all the companies with optional search.
"""
queryset = models.Company.objects\
.filter(parent=None)\
.annotate(Count('childs'))\
.order_by('-rating')
queryset = serializers.CompanySerializer.setup_eager_loading(queryset)
serializer_class = serializers.CompanySerializer
filter_backends = (filters.SearchFilter,)
search_fields = ('name', 'category__name')
Как я понял из
документации DRF поиск по умолчанию регистронезависим.
By default, searches will use case-insensitive partial matches.
Скриншоты, описывающие проблему (cafe - Ok, кафе - fail, Кафе - Ok)
Может кто сталкивался и может подсказать красивое решение проблемы?
UPD Уточняю: БД сейчас - SQLite3, есть подозрения, что на какой-нибудь PostgreSQL такой проблемы не будет, однако на своем ноуте все таки хотелось бы разрабатывать с БД по-проще...