Django Academy · Lektion

Anpassa ModelAdmin

Ange list_display, list_filter och search_fields

Lektion 3 av 413 steg

Anpassa ModelAdmin är en gratis lektion i Django Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Django Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Django Academy innehåller totalt 4 lektioner.

Bortom standardinställningarna

Standardgränssnittet fungerar, men känns enkelt. Med en klass av typen ModelAdmin kan du ändra hur varje modell ser ut och fungerar i administrationsgränssnittet.

Skapa en underklass och koppla den

Skapa en klass som ärver från admin.ModelAdmin och skicka sedan med den när du registrerar modellen. Klassen innehåller alla dina anpassningar.

class PostAdmin(admin.ModelAdmin):
    pass
admin.site.register(Post, PostAdmin)

Kolumner i listan

Listsidan visar som standard en kolumn. Ange list_display som en tupel med fältnamn så återger administrationsgränssnittet varje fält som en kolumn.

list_display = ("title", "author", "created")

Filtrera sidofältet

Stora tabeller blir svåra att överblicka. Lägg till list_filter så visar administrationsgränssnittet ett sidofält där du snabbt kan begränsa raderna efter dessa fält. 🔍

list_filter = ("status", "created")

Lägg till ett sökfält

Låt personalen söka efter poster med text. När du anger search_fields visas ett sökfält högst upp som söker i dessa fält.

search_fields = ("title", "author__name")

Klicka för att redigera

Som standard länkar bara den första kolumnen till redigeringssidan. Använd list_display_links för att i stället välja vilka kolumner som ska vara klickbara.

list_display_links = ("title",)

Redigera direkt i listan

Vill du ändra ett värde utan att öppna varje rad? Lägg ett fält i list_editable så kan du redigera det direkt på listsidan.

list_editable = ("status",)

Förifyll sluggen

Sluggar är tidskrävande att skriva. Alternativet prepopulated_fields fyller löpande i en slug från titeln medan du skriver. ⚡

prepopulated_fields = {"slug": ("title",)}

Sortera raderna

Styr standardsorteringen med ordering. Ett inledande minustecken sorterar fältet fallande, så att de nyaste objekten kan hamna först i listan.

ordering = ("-created",)

Gruppera formuläret

Långa redigeringsformulär känns röriga. Använd fieldsets för att dela upp fälten i namngivna, hopfällbara sektioner på redigeringssidan.

Beräknade kolumner

list_display kan också anropa en metod i din administrationsklass. Då kan du visa härledda värden, till exempel en kort förhandsvisning av brödtexten.

def short(self, obj):
    return obj.body[:30]

Snabb kontroll

Vilket alternativ styr kolumnerna som visas på listsidan?

Sammanfattning

Med ModelAdmin lade du till kolumner, filter, sökning och sortering. Några få attribut förvandlar en enkel tabell till en kraftfull datakonsol. 🛠️

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Anpassa ModelAdmin” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Django Academy, inklusive ”Anpassa ModelAdmin”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Django Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Anpassa ModelAdmin”?

Ange list_display, list_filter och search_fields Ni övar på Django Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Django Academy?

Du behöver inga förkunskaper. Utbildningen i Django Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Anpassa ModelAdmin”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Django Academy-lektionen?

Ja. Varje Django Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. createsuperuser och inloggning
  2. Registrera modeller med admin.site
  3. Anpassa ModelAdmin
  4. Inlines och skrivskyddade fält
← Tillbaka till Django Academy