Dostosowywanie ModelAdmin
Ustawić list_display, list_filter i search_fields
Dostosowywanie ModelAdmin to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
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. 🛠️
Często zadawane pytania
Czy lekcja „Dostosowywanie ModelAdmin” jest bezpłatna?
Tak — pełny tekst „Dostosowywanie ModelAdmin” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Dostosowywanie ModelAdmin”?
Ustawić list_display, list_filter i search_fields Ćwiczysz Django Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Django Academy?
Nie wymagamy żadnego doświadczenia. Django Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Dostosowywanie ModelAdmin”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Django Academy?
Tak. Każda lekcja Django Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- createsuperuser i logowanie
- Rejestrowanie modeli za pomocą admin.site
- Dostosowywanie ModelAdmin
- Inlines i pola tylko do odczytu