0Pricing
Django Academy · Lección

Personalizar ModelAdmin

Configure list_display, list_filter y search_fields

Personalizar ModelAdmin es una lección gratuita de Django Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Django Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Django Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

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. 🛠️

Preguntas frecuentes

¿La lección «Personalizar ModelAdmin» es gratis?

Sí — el texto completo de «Personalizar ModelAdmin» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Django Academy, actualiza a CoddyKit PRO. El curso de Django Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Personalizar ModelAdmin»?

Configure list_display, list_filter y search_fields Practicas Django Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Django Academy?

No se requiere experiencia previa. Django Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Personalizar ModelAdmin»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Django Academy?

Sí. Cada lección de Django Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. createsuperuser e inicio de sesión
  2. Registrar modelos con admin.site
  3. Personalizar ModelAdmin
  4. Inlines y campos de solo lectura
← Volver a Django Academy