Django Academy · Lezione

Opzioni dei campi: null, blank e default

Controlli quali valori può accettare una colonna

Lezione 3 di 413 passaggi

Opzioni dei campi: null, blank e default è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 3 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.

Configuri ogni field

Oltre al tipo, ogni field accetta opzioni che controllano quali valori può accettare e come si comporta.

null riguarda il database

L'opzione null stabilisce se la colonna del database può memorizzare NULL. Con null=True, la colonna può essere vuota nel database.

summary = models.TextField(null=True)

blank riguarda i moduli

L'opzione blank controlla la validazione, non il database. Con blank=True, i moduli consentono di lasciare vuoto il field.

summary = models.TextField(blank=True)

null e blank sono diversi

Ricordi la distinzione: null riguarda il livello del database, mentre blank riguarda la validazione dei moduli. Risolvono due problemi distinti.

Eviti null nei field di testo

Per i field che contengono stringhe, eviti null e usi semplicemente blank=True. Django preferisce una stringa vuota a NULL, per evitare la presenza di due stati vuoti.

note = models.CharField(max_length=100, blank=True)

default fornisce un valore

L'opzione default imposta il valore da usare quando non ne viene fornito alcuno, così le nuove righe iniziano con dati sensati.

views = models.IntegerField(default=0)

Valori predefiniti richiamabili

Un default può essere un callable come timezone.now. Passi la funzione stessa, senza parentesi, in modo che venga eseguita per ogni nuova riga.

created = models.DateTimeField(default=timezone.now)

unique impedisce i duplicati

Aggiunga unique=True e il database rifiuterà due righe con lo stesso valore: è perfetto per username o slug. 🚫

username = models.CharField(max_length=50, unique=True)

choices limita le opzioni

L'opzione choices limita un field a un insieme fisso di valori e visualizza un menu a discesa nei moduli e nell'interfaccia di amministrazione.

STATUS = [("d", "Draft"), ("p", "Published")]
status = models.CharField(max_length=1, choices=STATUS)

Le opzioni si combinano

Può combinare liberamente le opzioni in un unico field, ad esempio blank=True con default. Le combini per esprimere esattamente ciò che le serve.

tagline = models.CharField(max_length=120, blank=True, default="")

Le modifiche richiedono una migrazione

Modificare un'opzione cambia lo schema. Dopo aver modificato null, default o unique, esegua una migrazione affinché il database corrisponda.

Verifica rapida

Qual è la vera differenza tra null e blank?

Riepilogo: opzioni dei field

Ora sa che null riguarda il livello del database, blank il livello dei moduli, default fornisce i valori iniziali e unique blocca i duplicati. Configuri i field con sicurezza! ✨

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 «Opzioni dei campi: null, blank e default» è gratuita?

Sì — il testo completo di «Opzioni dei campi: null, blank e default» è 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 «Opzioni dei campi: null, blank e default»?

Controlli quali valori può accettare una colonna 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 3 di 4.

Quanto tempo richiede la lezione «Opzioni dei campi: null, blank e default»?

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. Definire una classe Model
  2. Scegliere i tipi di campo
  3. Opzioni dei campi: null, blank e default
  4. str e la classe Meta
← Torna a Django Academy