Django Academy · Lezione

Lookup dei campi ed exclude()

Esegua query con contains, gte, in e altro

Lezione 2 di 413 passaggi

Lookup dei campi ed exclude() è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.

Oltre l'uguaglianza

I filtri semplici verificano l'uguaglianza, ma le query reali richiedono intervalli e corrispondenze testuali. Le Field lookups sbloccano questa potenza aggiuntiva.

Il doppio underscore

Una lookup è composta dal nome del campo, da un doppio underscore e dall'operatore. Questa piccola sintassi permette a Django di interpretare condizioni più ricche.

Book.objects.filter(year__gte=2020)

Maggiore e minore di

Usate gt, gte, lt e lte per gli intervalli numerici o di date. Corrispondono direttamente agli operatori di confronto SQL.

Book.objects.filter(price__lt=20)

Cercate all'interno del testo

La lookup contains trova le righe in cui un campo contiene la vostra sottostringa in una posizione qualsiasi. È ottima per le ricerche semplici.

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

Ignorate la distinzione tra maiuscole e minuscole

Aggiunga una i per le ricerche di testo senza distinzione tra maiuscole e minuscole, come icontains o iexact, così le maiuscole non compromettono mai una corrispondenza.

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

Inizia e termina

Trovi i bordi di una stringa con startswith e endswith. Anche questi hanno le rispettive varianti che ignorano maiuscole e minuscole.

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

Corrispondenza con un insieme di valori

La ricerca in mantiene le righe il cui valore compare nell'elenco fornito. È più ordinata rispetto alla concatenazione di molti controlli OR.

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

Verifica dei valori vuoti

Usi isnull per trovare le righe in cui una colonna è NULL, oppure imposti False per trovare le righe che contengono un valore.

Book.objects.filter(summary__isnull=True)

Invertire la logica

A volte desidera tutto tranne una corrispondenza. exclude() restituisce le righe che NON soddisfano la condizione.

Book.objects.exclude(published=True)

Le ricerche funzionano anche in exclude

Qualsiasi ricerca su un campo che funziona in filter funziona anche in exclude(). L'unica differenza è che il risultato viene invertito.

Book.objects.exclude(year__gte=2020)

Combinare filter ed exclude

Le concateni per mantenere un gruppo ed escluderne un altro. Ogni chiamata restringe ulteriormente lo stesso QuerySet lazy.

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

Verifica rapida

Desidera i libri il cui titolo contiene "django", indipendentemente dalle maiuscole e minuscole. Quale ricerca è adatta?

Riepilogo

Ha fatto un salto di livello! Le ricerche sui campi usano il doppio underscore per intervalli e testo, mentre exclude() inverte qualsiasi condizione. 🔍

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Lookup dei campi ed exclude()» è gratuita?

Sì — il testo completo di «Lookup dei campi ed exclude()» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.

Cosa imparerò in «Lookup dei campi ed exclude()»?

Esegua query con contains, gte, in e altro Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Django Academy?

Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Lookup dei campi ed exclude()»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Django Academy?

Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. all(), get() e filter()
  2. Lookup dei campi ed exclude()
  3. order_by, slicing e valutazione lazy
  4. values, values_list e count
← Torna a Django Academy