# Django 5.2.8 documentation

# PostgreSQL-specifika uppslagningar

## Likhet mellan trigram

### `trigram_liknande`

Med `` trigram_similar``-uppslagningen kan du utföra trigramuppslagningar, mäta antalet trigram (tre på varandra följande tecken) som delas med hjälp av en dedikerad PostgreSQL-förlängning. En trigramuppslagning ges ett uttryck och returnerar resultat som har en likhetsmätning som är större än det aktuella likhetströskeln.

För att använda den, lägg till `'django.contrib.postgres'` i din `INSTALLED_APPS` och aktivera pg_trgm-förlängningen på PostgreSQL. Du kan installera tillägget med hjälp av `TrigramExtension` migreringsoperation.

Uppslagningen `trigram_similar` kan användas på `CharField` och `TextField`:

    >>> City.objects.filter(name__trigram_similar="Middlesborough")
    ['<City: Middlesbrough>']

### `trigram_ord_liknande`

Med `trigram_word_similar` lookup kan du utföra trigramordlikhetsuppslagningar med hjälp av ett dedikerat PostgreSQL-tillägg. Det kan ungefär förstås som att mäta det största antalet trigram som delas mellan parametern och någon understräng i fältet. En trigramorduppslagning ges ett uttryck och returnerar resultat som har en ordlikhetsmätning som är större än det aktuella likhetströskeln.

För att använda den, lägg till `'django.contrib.postgres'` i din `INSTALLED_APPS` och aktivera pg_trgm-förlängningen på PostgreSQL. Du kan installera tillägget med hjälp av `TrigramExtension` migreringsoperation.

Uppslagningen `trigram_word_similar` kan användas på `CharField` och `TextField`:

    >>> Sentence.objects.filter(name__trigram_word_similar="Middlesborough")
    ['<Sentence: Gumby rides on the path of Middlesbrough>']

### `trigram_strikt_ord_liknande`

Liknar `trigram_word_similar`, förutom att den tvingar extent-gränser att matcha ordgränser.

För att använda den, lägg till `'django.contrib.postgres'` i din `INSTALLED_APPS` och aktivera pg_trgm-förlängningen på PostgreSQL. Du kan installera tillägget med hjälp av `TrigramExtension` migreringsoperation.

Uppslagningen `trigram_strict_word_similar` kan användas på `CharField` och `TextField`.

## `Unaccent`

Med `unaccent` lookup kan du utföra accentkänsliga lookups med hjälp av en dedikerad PostgreSQL-förlängning.

Denna uppslagning implementeras med `Transform`, så det kan kedjas med andra uppslagningsfunktioner. För att använda det måste du lägga till `'django.contrib.postgres` i din `INSTALLED_APPS` och aktivera unaccent-tillägget på PostgreSQL. Migreringsoperationen `UnaccentExtension` är tillgänglig om du vill utföra denna aktivering med hjälp av migreringar).

Uppslagningen `unaccent` kan användas på `CharField` och `TextField`:

    >>> City.objects.filter(name__unaccent="México")
    ['<City: Mexico>']

    >>> User.objects.filter(first_name__unaccent__startswith="Jerem")
    ['<User: Jeremy>', '<User: Jérémy>', '<User: Jérémie>', '<User: Jeremie>']

Varning

`Unaccent`-uppslagningar bör fungera bra i de flesta användningsfall. Frågor som använder det här filtret kommer dock i allmänhet att utföra fullständiga tabellskanningar, vilket kan vara långsamt i stora tabeller. I dessa fall kan det vara lämpligt att använda dedikerade fulltextindexeringsverktyg.