माइग्रेशन फ़ाइल को मैन्युअल रूप से बनाने और लागू करने की आवश्यकता होती है।
सबसे पहले, एक खाली माइग्रेशन बनाएं:
./manage.py makemigrations myapp --empty
फिर फ़ाइल खोलें और UnaccentExtension
add जोड़ें operations
. के लिए :
from django.contrib.postgres.operations import UnaccentExtension
class Migration(migrations.Migration):
dependencies = [
(<snip>)
]
operations = [
UnaccentExtension()
]
अब ./manage.py migrate
का उपयोग करके माइग्रेशन लागू करें ।
यदि आपको उस अंतिम चरण के दौरान निम्न त्रुटि मिलती है:
django.db.utils.ProgrammingError: permission denied to create extension "unaccent"
HINT: Must be superuser to create this extension.
... फिर postgres# ALTER ROLE <user_name> SUPERUSER;
करके अपने उपयोगकर्ता को अस्थायी रूप से सुपरयूज़र अधिकारों की अनुमति दें और इसका NOSUPERUSER
समकक्ष। pgAdminIII भी ऐसा कर सकता है।
अब Django का उपयोग करके बेजोड़ कार्यक्षमता का आनंद लें:
>>> Person.objects.filter(first_name__unaccent=u"Helène")
[<Person: Michels Hélène>]