En migreringsfil måste skapas och tillämpas manuellt.
Skapa först en tom migrering:
./manage.py makemigrations myapp --empty
Öppna sedan filen och lägg till UnaccentExtension
till operations
:
from django.contrib.postgres.operations import UnaccentExtension
class Migration(migrations.Migration):
dependencies = [
(<snip>)
]
operations = [
UnaccentExtension()
]
Använd nu migreringen med ./manage.py migrate
.
Om du skulle få följande fel under det sista steget:
django.db.utils.ProgrammingError: permission denied to create extension "unaccent"
HINT: Must be superuser to create this extension.
... tillåt sedan tillfälligt superanvändarrättigheter för din användare genom att utföra postgres# ALTER ROLE <user_name> SUPERUSER;
och dess NOSUPERUSER
motsvarighet. pgAdminIII kan också göra detta.
Njut nu av den unaccenta funktionen med Django:
>>> Person.objects.filter(first_name__unaccent=u"Helène")
[<Person: Michels Hélène>]