ModelAdminをカスタマイズする
list_display、list_filter、search_fieldsを設定します
「ModelAdminをカスタマイズする」はCoddyKit上の無料Django Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDjango Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Django Academyコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
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. 🛠️
よくある質問
「ModelAdminをカスタマイズする」レッスンは無料ですか?
はい。「ModelAdminをカスタマイズする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Django Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Django Academyコースには全4レッスンが含まれています。
「ModelAdminをカスタマイズする」で何を学びますか?
list_display、list_filter、search_fieldsを設定します ブラウザで直接実行するハンズオンコードでDjango Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Django Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDjango Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ModelAdminをカスタマイズする」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDjango Academyレッスンでコードを書いて実行できますか?
はい。すべてのDjango Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- createsuperuserとログイン
- admin.siteにモデルを登録する
- ModelAdminをカスタマイズする
- インラインと読み取り専用フィールド