En migreringsfil skal laves og anvendes manuelt.
Først skal du oprette en tom migrering:
./manage.py makemigrations myapp --empty
Åbn derefter filen og tilføj UnaccentExtension
til operations
:
from django.contrib.postgres.operations import UnaccentExtension
class Migration(migrations.Migration):
dependencies = [
(<snip>)
]
operations = [
UnaccentExtension()
]
Anvend nu migreringen ved hjælp af ./manage.py migrate
.
Hvis du får følgende fejl under det sidste trin:
django.db.utils.ProgrammingError: permission denied to create extension "unaccent"
HINT: Must be superuser to create this extension.
... tillad derefter midlertidigt superbrugerrettigheder til din bruger ved at udføre postgres# ALTER ROLE <user_name> SUPERUSER;
og dens NOSUPERUSER
modpart. pgAdminIII kan også gøre dette.
Nyd nu den unaccente funktionalitet ved hjælp af Django:
>>> Person.objects.filter(first_name__unaccent=u"Helène")
[<Person: Michels Hélène>]