Поиск, специфичный для PostgreSQL
Unaccent
Поиск unaccent позволяет выполнять поиск, нечувствительный к акцентам, с использованием специального расширения PostgreSQL.
Этот поиск реализован с помощью Transform, поэтому его можно объединить с другими функциями поиска. Для использования необходимо добавить 'django.contrib.postgres' в ваш INSTALLED_APPS и активировать расширение unaccent в PostgreSQL. Операция миграции UnaccentExtension доступна, если вы хотите выполнить эту активацию с помощью миграций.
Поиск unaccent может использоваться с CharField и TextField:
>>> City.objects.filter(name__unaccent="México") ['<City: Mexico>'] >>> User.objects.filter(first_name__unaccent__startswith="Jerem") ['<User: Jeremy>', '<User: Jérémy>', '<User: Jérémie>', '<User: Jeremie>']
Предупреждение
Поиск unaccent в большинстве случаев должен работать корректно. Однако запросы с использованием этого фильтра обычно выполняют полное сканирование таблицы, что может быть медленным для больших таблиц. В таких случаях может быть целесообразно использовать специализированные инструменты полнотекстового индексирования.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.8/ref/contrib/postgres/lookups/