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)
` 的参数。
现在回到浏览器,您应该会看到这个结果:
