Django Academy · Lezione

Inline e campi di sola lettura

Modifichi inline le righe correlate e protegga i campi

Lezione 4 di 413 passaggi

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 = Comment

Collegatelo 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 = 1

Il 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. ✅

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 «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

  1. createsuperuser e accesso
  2. Registrare i modelli con admin.site
  3. Personalizzare ModelAdmin
  4. Inline e campi di sola lettura
← Torna a Django Academy