Opzioni dei campi: null, blank e default
Controlli quali valori può accettare una colonna
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! ✨
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
- Definire una classe Model
- Scegliere i tipi di campo
- Opzioni dei campi: null, blank e default
- str e la classe Meta