Django Academy · Les

Veldlookups en exclude()

Query met contains, gte, in en meer.

Les 2 van 413 stappen

Veldlookups en exclude() is een gratis Django Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Django Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Django Academy bevat in totaal 4 lessen.

Verder dan gelijkheid

Gewone filters controleren op gelijkheid, maar echte queries hebben bereiken en tekstovereenkomsten nodig. Field lookups bieden die extra mogelijkheden.

Het dubbele onderstrepingsteken

Een lookup bestaat uit de veldnaam, een dubbel onderstrepingsteken en vervolgens de operator. Met die kleine syntaxis leest Django uitgebreidere voorwaarden.

Book.objects.filter(year__gte=2020)

Groter en kleiner dan

Gebruik gt, gte, lt en lte voor bereiken van getallen of datums. Ze worden rechtstreeks vertaald naar vergelijkingsoperatoren in SQL.

Book.objects.filter(price__lt=20)

Zoek binnen tekst

De lookup contains vindt rijen waarin een veld je deeltekenreeks ergens bevat. Handig voor eenvoudige zoekopdrachten.

Book.objects.filter(title__contains="Python")

Negeer hoofdlettergebruik

Voeg een i toe voor hoofdletterongevoelige tekstzoekopdrachten zoals icontains of iexact, zodat hoofdletters een overeenkomst nooit in de weg staan.

Book.objects.filter(title__icontains="python")

Begin en eindig

Vind de randen van een tekenreeks met startswith en endswith. Beide hebben ook een hoofdletterongevoelige variant.

Book.objects.filter(title__startswith="The")

Een verzameling waarden zoeken

De in-zoekopdracht houdt rijen waarvan de waarde voorkomt in een lijst die je meegeeft. Dat is overzichtelijker dan veel OR-controles aan elkaar te rijgen.

Book.objects.filter(year__in=[2022, 2023, 2024])

Lege waarden controleren

Gebruik isnull om rijen te vinden waarin een kolom NULL is, of stel deze in op False om rijen te vinden die wel een waarde hebben.

Book.objects.filter(summary__isnull=True)

De logica omkeren

Soms wil je alles behalve een overeenkomst. exclude() geeft de rijen terug die NIET aan de voorwaarde voldoen.

Book.objects.exclude(published=True)

Zoekopdrachten werken ook in exclude

Elke veldzoekopdracht die in filter werkt, werkt ook in exclude(). Het enige verschil is dat het resultaat wordt omgekeerd.

Book.objects.exclude(year__gte=2020)

filter en exclude combineren

Combineer beide om één groep te behouden en een andere te verwijderen. Elke aanroep beperkt dezelfde luie QuerySet verder.

Book.objects.filter(published=True).exclude(price__gt=50)

Snelle controle

Je wilt boeken waarvan de titel "django" bevat, ongeacht hoofdletters. Welke zoekopdracht past daarbij?

Samenvatting

Je hebt een niveau bereikt! Veldzoekopdrachten gebruiken de dubbele underscore voor bereiken en tekst, en exclude() keert elke voorwaarde om. 🔍

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Veldlookups en exclude()” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Django Academy, waaronder “Veldlookups en exclude()”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Django Academy bevat in totaal 4 lessen.

Wat leer ik in “Veldlookups en exclude()”?

Query met contains, gte, in en meer. Je oefent met Django Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Django Academy te beginnen?

Ervaring vooraf is niet nodig. Django Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Veldlookups en exclude()”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Django Academy?

Ja. Elke les over Django Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. all(), get() en filter()
  2. Veldlookups en exclude()
  3. order_by, slicen en lazy evaluation
  4. values, values_list en count
← Terug naar Django Academy