Django Field Lookups – contains
I Django er Field Lookups værktøjer, der giver mulighed for at foretage avancerede søgninger i databasen. Et af disse Lookups er contains, som giver dig mulighed for at søge efter en delmængde af værdier i en tekstbaseret søjle. Denne artikel vil udforske brugen af contains Lookup i Django og give eksempler på, hvordan du kan implementere det effektivt.
Introduktion til contains
Når du arbejder med tekstbaserede søjler i Django-modeller, kan du støde på scenarier, hvor du kun ønsker at returnere rækker, der indeholder en bestemt delstreng. Det kan være nyttigt, når du f.eks. vil finde alle brugere, der har admin i deres brugernavne eller alle produkter, der indeholder ordet kaffe i deres navn.
Den contains Lookup tillader dig at specificere delstrengen, som du vil søge efter, og returnerer alle rækker, hvor søjleværdien indeholder denne delstreng. Det er vigtigt at bemærke, at contains er case sensitive, hvilket betyder, at kaffe er forskelligt fra Kaffe.
Brug af contains
For at bruge contains Lookup i en Django QuerySet skal du kalde metoden contains på søjleobjektet og specificere delstrengen som parameter. Her er et eksempel:
from django.db import modelsProduct.objects.filter(name__contains=kaffe)
I ovenstående eksempel søger vi efter alle produkter, hvor navnet indeholder delstrengen kaffe. Dette vil returnere en QuerySet af produkter, der opfylder denne betingelse.
Undersøgelse af Case-sensitivity
Vi nævnte tidligere, at contains Lookup er case sensitive. Dette betyder, at hvis du søger efter kaffe, vil Kaffe ikke blive returneret. For at omgå dette kan du bruge en kombination af icontains og contains Lookups, som ignorerer forskellen i store og små bogstaver. Her er et eksempel:
Product.objects.filter(name__icontains=kaffe)
Denne query vil returnere både kaffe og Kaffe.
Afsøgning af flere søjler
En af fordelene ved contains Lookup er, at du kan søge efter en delstreng i flere søjler på samme tid. For at gøre dette skal du bare angive flere Lookups ved hjælp af | operatoren. Her er et eksempel:
Product.objects.filter(Q(name__contains=kaffe) | Q(description__contains=kaffe))
I dette eksempel søger vi efter både produkter, der har kaffe i deres navn og produkter, der har kaffe i deres beskrivelse. Dette vil returnere alle produkter, der opfylder mindst en af disse betingelser.
Konklusion
Django Field Lookups, såsom contains, giver en kraftig værktøj til at udføre avancerede søgninger i tekstbaserede søjler. Ved at bruge contains kan du nemt finde delmængder af værdier baseret på en given delstreng. Det er vigtigt at huske på, at contains er case sensitive, men dette kan omgås ved at bruge icontains Lookup. Ved at kombinere multiple Lookups kan du søge efter delstrengene i flere søjler på samme tid. Med denne dybdegående artikel har du nu viden og eksempler til at implementere contains Lookup effektivt i Django.
Ofte stillede spørgsmål
Hvad er betydningen af Django Field Lookups – contains?
Hvordan kan jeg bruge Django-filter til at udføre en søgning baseret på contains-metoden?
Hvilken form for input accepterer contains-metoden i Django?
Er contains-metoden case-sensitive i Django?
Kan jeg bruge contains-metoden til at søge efter en delmængde af ord i en tekst?
Hvordan opretter jeg en case-insensitive søgning ved hjælp af contains-metoden i Django?
Hvordan kan jeg bruge contains-metoden til at søge efter både store og små bogstaver i Django?
Kan jeg kombinere contains-metoden med andre søgevilkår i Django?
Hvad er forskellen mellem contains og icontains-metoden i Django?
Kan jeg bruge contains-metoden til at søge efter delmængden i flere forskellige felter på én gang i Django?
Andre populære artikler: Onmouseenter-eventet – alt hvad du skal vide • PHP array_walk() Funktion • AWS RDS – Relational Database Service • Pandas DataFrame ge() Metode • Introduktion • TensorFlow Models: En dybdegående introduktion • Python math Modul • PHP array_count_values() Funktion • JavaScript Date Set Metoder • Google Sheets OR Funktion • Microsoft Access Trim() Funktion: En dybdegående guide • PHP extends keyword • Python Set intersection_update() Metode • CSS isolation property • SVG Polyline: En dybdegående artikel om brugen og funktionen af SVG Polyline • Pandas DataFrame copy() Metoden • xsl:key – En dybdegående forståelse • Bootstrap Filters • Angular date filter: En omfattende guide til datoformatering i Angular • SQL Server QUOTENAME() Funktion