Django Academy · Lezione

values, values_list e count

Recuperi dati leggeri e aggregazioni

Lezione 4 di 413 passaggi

values, values_list e count è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 4 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.

Perché scegliere strumenti leggeri

Gli oggetti completi del modello contengono ogni campo. Quando servono solo una o due colonne, gli strumenti più leggeri recuperano meno dati e sono più veloci.

values() restituisce dizionari

Chiami values() e ogni riga viene restituita come dizionario anziché come istanza del modello. È utile per JSON e letture rapide.

Book.objects.values("title", "year")

Selezionare solo ciò che serve

Indichi i campi passati a values() e Django selezionerà solo quelle colonne, mantenendo ogni dizionario piccolo e mirato.

Book.objects.values("title")

values_list() restituisce tuple

Preferisce le tuple? values_list() restituisce ogni riga come una tupla di valori nell'ordine in cui ha indicato i campi.

Book.objects.values_list("title", "year")

Appiattire una singola colonna

Deve recuperare un solo campo? Aggiunga flat=True per ottenere un semplice elenco di valori invece di tuple con un solo elemento.

Book.objects.values_list("title", flat=True)

flat richiede un solo campo

Ricordi che flat=True funziona solo con un singolo campo. Se ne passa due, Django genera un errore per mantenere il comportamento chiaro.

Sono ancora QuerySet

Sia values() sia values_list() rimangono QuerySet lazy, quindi può filtrarli e ordinarli prima che vengano eseguiti.

Book.objects.filter(published=True).values("title")

Contare senza caricare

Le serve solo un totale? count() chiede direttamente al database di contare le righe, con un costo molto inferiore rispetto a caricarle tutte in Python.

Book.objects.filter(published=True).count()

count e len a confronto

Usi count() quando Le serve solo il numero. Chiamare prima len() carica ogni oggetto e poi conta in memoria.

Esiste una corrispondenza

Per verificare se esistono righe, exists() è migliore di count(). Si ferma alla prima corrispondenza e restituisce un semplice True o False.

Book.objects.filter(year=2024).exists()

Combinare per letture ordinate

Li combini liberamente: usi filter per restringere, poi values_list per un elenco ordinato o count per un totale. Ogni query rimane essenziale.

Book.objects.filter(published=True).values_list("id", flat=True)

Verifica rapida

Desidera un semplice elenco di tutti i titoli dei libri, non tuple né dizionari. Che cosa usa?

Riepilogo

Ottimo! values() restituisce dizionari, values_list() restituisce tuple e count() calcola il totale delle righe nel database. 📊

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 «values, values_list e count» è gratuita?

Sì — il testo completo di «values, values_list e count» è 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 «values, values_list e count»?

Recuperi dati leggeri e aggregazioni 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 4 di 4.

Quanto tempo richiede la lezione «values, values_list e count»?

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