移行ファイルは手動で作成して適用する必要があります。
まず、空の移行を作成します:
./manage.py makemigrations myapp --empty
次に、ファイルを開き、UnaccentExtension
を追加します 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>]