TECH I.S.

Django リスト表示


リスト表示を更に読みやすくする

モデルをリストとして表示すると、Djangoは各レコードをレコードオブジェクトの文字列表現として表示します。この場合は、"Member object(1)"、"Member object(2)"などです。

これをより読みやすい形式に変更するには、次の2つの選択肢があります。

  1. メンバーモデルの文字列表現関数__str__()を変更する
  2. メンバーモデルのlist_detailsプロパティを設定します

文字列表現関数の変更

文字列表現を変更するには、次のように、models.pyでメンバーモデルの__str__()関数を定義する必要があります。

my_tennis_club/members/models.py:
from django.db import models class Member(models.Model): firstname = models.CharField(max_length=255) lastname = models.CharField(max_length=255) phone = models.IntegerField(null=True) joined_date = models.DateField(null=True) def str(self): return f"{self.firstname} {self.lastname}";

これにより、次の結果が得られます。


独自の定義__str__()関数はDjangoの機能ではなく、Pythonでオブジェクトの文字列表現を変更する方法です。Pythonオブジェクトの詳細については、Pythonオブジェクトのチュートリアルをご覧ください。



list_displayを設定する

admin.pyファイルのlist_displayプロパティでフィールドを指定することで、表示するフィールドを制御できます。

まずMemberAdmin()クラスを作成し、次のようにlist_displayタプルを指定します。

my_tennis_club/members/admin.py:
from django.contrib import admin from .models import Member # Register your models here. class MemberAdmin(admin.ModelAdmin): list_display = ("firstname", "lastname", "joined_date",) admin.site.register(Member, MemberAdmin)

MemberAdminをadmin.site.register(Member, MemberAdmin)の引数として忘れずに追加してください。

ブラウザに戻ると、次の結果が表示されます。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細