Как сделать REST Search-filter регистронезависимым для не английских букв?
Согласно REST'у search-filter, "По умолчанию поиск будет использовать частичное совпадение без учета регистра". Все прекрасно работает для английских букв, но для неанглийских - нет.
class ProductsAPIView(generics.ListCreateAPIView):
queryset = Product.objects.all()
serializer_class = ProductSerializer
filter_backends = (filters.SearchFilter,)
search_fields = ['title', 'name']
Мое мнение
path('all/', views.ProductsAPIView.as_view()),
Мой url путь
Например:
Когда я ищу английскими буквами:
Когда я ищу не английскими буквами:
У меня есть предмет:
{
"id": 10,
"productType": "Напитки",
"measurment": "л",
"product_image": "http://127.0.0.1:8000/images/logo.png",
"title": "Фанта (0.5)",
"name": "Фанта",
"price": 40,
"description": "",
"created": "2022-06-21T07:20:07.582387Z",
"updated": "2022-06-21T07:20:07.582435Z"
},
"title": "Фанта (0,5)", - начинается с верхнего регистра.
Поэтому когда я пытаюсь /api/all/?search=ф
. ( ф - нижний, Ф - верхний, в данном случае я написал нижний ). я не получаю этот элемент. Но я получаю его, когда я пробую с /api/all/?search=Ф
(Верхний) я получаю элемент, который противоречит регистронезависимости.