Inline e campi di sola lettura
Modifichi inline le righe correlate e protegga i campi
Inline e campi di sola lettura è 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.
Modificate insieme le righe correlate
A volte è utile avere i record correlati nella stessa pagina. Un inline permette di modificare le righe figlie direttamente nel modulo di modifica del genitore. 🧩
Due stili di inline
Django offre due layout. Un TabularInline mostra le righe in una tabella compatta, mentre StackedInline dispone ogni riga in un blocco separato.
Definite un inline
Create una piccola classe che estenda TabularInline e imposti il proprio attributo model sul modello figlio da incorporare.
class CommentInline(admin.TabularInline):
model = CommentCollegatelo al genitore
Elencate il vostro inline nell'admin del genitore. L'opzione inlines indica a Django di visualizzare quelle righe figlie all'interno del modulo del genitore.
class PostAdmin(admin.ModelAdmin):
inlines = [CommentInline]Righe vuote aggiuntive
Gli inline mostrano righe vuote per aggiungere rapidamente elementi. Impostate extra per controllare quanti spazi vuoti compaiono; spesso ne basta uno.
extra = 1Il requisito FK
Gli inline funzionano solo quando il figlio ha una ForeignKey verso il genitore. È questo collegamento a permettere a Django di sapere quali righe sono correlate.
Proteggete un campo
Alcuni valori devono essere visibili, ma non devono mai essere modificati manualmente. Aggiungeteli a readonly_fields e l'admin li mostrerà come bloccati. 🔒
readonly_fields = ("created", "updated")Timestamp automatici
I campi come una data auto_now_add vengono impostati da Django, non dagli utenti. Contrassegnarli come readonly evita modifiche confuse che non possono essere salvate.
Mostrate un valore calcolato
readonly_fields può contenere anche un method, permettendovi di visualizzare un valore calcolato che non ha una vera colonna nel database.
def word_count(self, obj):
return len(obj.body.split())readonly negli inline
Anche gli inline accettano readonly_fields. Usatelo per visualizzare chiaramente i dati dei figli, mantenendo non modificabili le colonne sensibili.
Le autorizzazioni restano valide
Readonly riguarda il modulo, non la sicurezza. L'accesso effettivo è regolato dalle permissions dell'utente, quindi combinate entrambi per modifiche sicure.
Controllo rapido
Che cosa è necessario perché un modello compaia come inline?
Riepilogo
Avete incorporato le righe correlate con gli inlines e bloccato i valori sensibili usando readonly_fields. Insieme rendono la modifica nell'admin completa e sicura. ✅
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 «Inline e campi di sola lettura» è gratuita?
Sì — il testo completo di «Inline e campi di sola lettura» è 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 «Inline e campi di sola lettura»?
Modifichi inline le righe correlate e protegga i campi 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 «Inline e campi di sola lettura»?
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
- createsuperuser e accesso
- Registrare i modelli con admin.site
- Personalizzare ModelAdmin
- Inline e campi di sola lettura