0Pricing
Django Academy · Leçon

Personnaliser ModelAdmin

Définissez list_display, list_filter et search_fields.

Personnaliser ModelAdmin est une leçon Django Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Django Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Django Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Beyond the Defaults

The default admin works but feels plain. A ModelAdmin class lets you reshape how each model looks and behaves in the admin.

Subclass and Attach

Create a class that subclasses admin.ModelAdmin, then pass it when you register the model. That class holds all your tweaks.

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

Columns in the List

The list page shows one column by default. Set list_display to a tuple of field names and the admin renders each as a column.

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

Filter the Sidebar

Big tables get hard to scan. Add list_filter and the admin shows a sidebar to narrow rows by those fields fast. 🔍

list_filter = ("status", "created")

Add a Search Box

Let staff hunt for records by text. Setting search_fields puts a search bar at the top that scans those fields.

search_fields = ("title", "author__name")

Click to Edit

By default only the first column links to the edit page. Use list_display_links to choose which columns are clickable instead.

list_display_links = ("title",)

Edit Inline in the List

Want to change a value without opening each row? Put a field in list_editable and you can edit it right on the list page.

list_editable = ("status",)

Prefill the Slug

Slugs are tedious to type. The prepopulated_fields option fills a slug live from the title as you type it. ⚡

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

Order the Rows

Control the default sort with ordering. A leading minus sorts that field descending, so newest items can lead the list.

ordering = ("-created",)

Group the Form

Long edit forms feel cluttered. Use fieldsets to split fields into labeled, collapsible sections on the edit page.

Computed Columns

list_display can also call a method on your admin class. That lets you show derived values, like a short preview of the body.

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

Quick Check

Which option controls the columns shown on the list page?

Recap

With ModelAdmin you added columns, filters, search, and sorting. A few attributes turn a plain table into a powerful data console. 🛠️

Questions Fréquemment Posées

La leçon « Personnaliser ModelAdmin » est-elle gratuite ?

Oui — le texte complet de « Personnaliser ModelAdmin » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Django Academy, passe à CoddyKit PRO. Le cours Django Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Personnaliser ModelAdmin » ?

Définissez list_display, list_filter et search_fields. Tu pratiques Django Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Django Academy ?

Aucune expérience préalable n'est requise. Django Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Personnaliser ModelAdmin » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Django Academy ?

Oui. Chaque leçon Django Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. createsuperuser et connexion
  2. Enregistrer des modèles avec admin.site
  3. Personnaliser ModelAdmin
  4. Champs intégrés et en lecture seule
← Retour à Django Academy