Django Admin - 設定顯示欄位
讓列表顯示更易讀
當您將一個模型顯示為列表時,Django 會將每個記錄顯示為該記錄物件的字串表示形式,在我們的例子中是“Member object (1)”、“Member object(2)”等等。

要將其更改為更易讀的格式,我們有兩種選擇:
- 更改 Member 模型的字串表示函式 `
__str__()
` - 設定 Member 模型的 `
list_details
` 屬性
更改字串表示函式
要更改字串表示,我們必須在 `models.py
` 檔案中定義 Member 模型的 `__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)
` 的引數。
現在回到瀏覽器,您應該會看到這個結果:
