Django combinando búsquedas de __unaccent y __search

Así que estoy tratando de usar __unaccent y __search en el mismo modelo de filtro, pero cuando lo hago recibo un error. Estoy tratando de hacer un filtro usando el término “Pokémon” que coincida con el término “Pokémon” (note el “é”)

Game.objects.filter(title__unaccent__icontains="Pokemon") funciona bien, pero cuando uso Game.objects.filter(title__unaccent__search="Pokemon) , Game.objects.filter(title__unaccent__search="Pokemon) el siguiente error:

ProgrammingError en / autocomplete-games / function unaccent (tsquery)

no existe LINE 1: … ALESCE (UNACCENT (“main_game”. “title”), ”)) @@ (UNACCENT (p … ^ SUGERENCIA: ninguna función coincide con los tipos de nombre y argumento dados. Necesito agregar conversiones de tipo explícito.

Estoy usando:

Python 3.5

Django 1.10

PostgreSQL (extensión unaccent instalada)

La forma de hacerlo es definir la configuración de búsqueda personalizada en la base de datos como:

 CREATE TEXT SEARCH CONFIGURATION unaccent ( COPY = french ); ALTER TEXT SEARCH CONFIGURATION unaccent ALTER MAPPING FOR hword, hword_part, word WITH unaccent, simple; 

No soy un experto en postgres, pero esta configuración funciona para mí. Para obtener más detalles, consulte el tutorial como este: http://www.nomadblue.com/blog/django/from-like-to-full-text-search-part-ii/

y que usar esto en Django:

 from django.contrib.postgres.search import SearchVector, SearchQuery Game.objects.annotate(unaccent_title=SearchVector('title', config='unaccent')).filter(unaccent_title=SearchQuery('Pokemon', config='unaccent'))