Django Academy · leksjon

Inlines og skrivebeskyttede felt

Rediger relaterte rader innebygd og beskytt felt

Leksjon 4 av 413 trinn

Inlines og skrivebeskyttede felt er en gratis leksjon i Django Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Django Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Django Academy inneholder totalt 4 leksjoner.

Rediger relaterte rader sammen

Noen ganger hører relaterte poster hjemme på samme side. En inline lar deg redigere underordnede rader direkte i redigeringsskjemaet til den overordnede posten. 🧩

To inline-stiler

Django tilbyr to oppsett. En TabularInline viser radene i en kompakt tabell, mens StackedInline viser hver rad som sin egen blokk.

Definer en inline

Opprett en liten klasse som arver fra TabularInline, og la model-attributtet peke på undermodellen du vil bygge inn.

class CommentInline(admin.TabularInline):
    model = Comment

Koble til den overordnede modellen

List opp inlinen i admin for den overordnede modellen. Alternativet inlines forteller Django at de underordnede radene skal gjengis inne i hovedskjemaet.

class PostAdmin(admin.ModelAdmin):
    inlines = [CommentInline]

Ekstra tomme rader

Inlines viser tomme rader for rask registrering. Sett extra for å styre hvor mange tomme plasser som vises – ofte holder det med én.

extra = 1

FK-kravet

Inlines fungerer bare når den underordnede modellen har en ForeignKey til den overordnede. Denne koblingen viser Django hvilke rader som hører sammen.

Beskytt et felt

Noen verdier skal være synlige, men aldri redigeres manuelt. Legg dem i readonly_fields, så viser admin dem som låste. 🔒

readonly_fields = ("created", "updated")

Automatiske tidsstempler

Felter som en auto_now_add-dato settes av Django, ikke av brukere. Hvis du merker dem som readonly, unngår du forvirrende endringer som ikke kan lagres.

Vis en beregnet verdi

readonly_fields kan også inneholde navnet på en method, slik at du kan vise en beregnet verdi som ikke har noen faktisk databasekolonne.

def word_count(self, obj):
    return len(obj.body.split())

Readonly i inlines

Inlines støtter også readonly_fields. Bruk det til å vise underordnede data tydelig, samtidig som sensitive kolonner ikke kan redigeres.

Tillatelser gjelder fortsatt

Readonly handler om skjemaet, ikke sikkerhet. Den faktiske tilgangen styres av brukerens permissions, så kombiner begge deler for trygg redigering.

Hurtigsjekk

Hva kreves for at en modell skal vises som en inline?

Oppsummering

Du bygde inn relaterte rader med inlines og låste sensitive verdier med readonly_fields. Sammen gjør de admin-redigering omfattende, men trygg. ✅

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Inlines og skrivebeskyttede felt» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Django Academy, inkludert «Inlines og skrivebeskyttede felt», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Django Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Inlines og skrivebeskyttede felt»?

Rediger relaterte rader innebygd og beskytt felt Du øver på Django Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Django Academy?

Ingen tidligere erfaring er nødvendig. Django Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Inlines og skrivebeskyttede felt»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Django Academy-leksjonen?

Ja. Alle Django Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. createsuperuser og innlogging
  2. Registrer modeller med admin.site
  3. Tilpass ModelAdmin
  4. Inlines og skrivebeskyttede felt
← Tilbake til Django Academy