Commit 17fe0bd8 authored by Thomas Chaumeny's avatar Thomas Chaumeny Committed by Tim Graham
Browse files

Fixed #23423 -- Added unaccent lookup in django.contrib.postgres

parent 47789410
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -642,6 +642,7 @@ answer newbie questions, and generally made Django that much better:
    Terry Huang <terryh.tp@gmail.com>
    thebjorn <bp@datakortet.no>
    Thejaswi Puthraya <thejaswi.puthraya@gmail.com>
    Thomas Chaumeny <t.chaumeny@gmail.com>
    Thomas Güttler <hv@tbz-pariv.de>
    Thomas Kerpe <thomas@kerpe.net>
    Thomas Sorrel
+4 −0
Original line number Diff line number Diff line
from django.apps import AppConfig
from django.db.backends.signals import connection_created
from django.db.models import CharField, TextField
from django.utils.translation import ugettext_lazy as _

from .lookups import Unaccent
from .signals import register_hstore_handler


@@ -11,3 +13,5 @@ class PostgresConfig(AppConfig):

    def ready(self):
        connection_created.connect(register_hstore_handler)
        CharField.register_lookup(Unaccent)
        TextField.register_lookup(Unaccent)
+10 −0
Original line number Diff line number Diff line
from django.db.models import Transform


class Unaccent(Transform):
    bilateral = True
    lookup_name = 'unaccent'

    def as_postgresql(self, compiler, connection):
        lhs, params = compiler.compile(self.lhs)
        return "UNACCENT(%s)" % lhs, params
+6 −0
Original line number Diff line number Diff line
@@ -32,3 +32,9 @@ class HStoreExtension(CreateExtension):
        # extension is installed, a subsequent data migration would use the
        # same connection
        register_hstore_handler(schema_editor.connection)


class UnaccentExtension(CreateExtension):

    def __init__(self):
        self.name = 'unaccent'
+1 −0
Original line number Diff line number Diff line
@@ -26,5 +26,6 @@ a number of PostgreSQL specific data types.

    fields
    forms
    lookups
    operations
    validators
Loading