Django 管理后台 - 设置要显示的字段
让列表显示更易于阅读
当您将模型显示为列表时,Django 会将每条记录显示为记录对象的字符串表示形式,在本例中为"成员对象 (1)"、"成员对象 (2)"等等:
为了将其更改为更易于阅读的格式,我们有两种选择:
- 更改成员模型的字符串表示函数
__str__() - 设置 MemberAdmin 类的
list_display属性
更改字符串表示函数
要更改字符串表示,我们需要在 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
# 在这里注册您的模型。
class MemberAdmin(admin.ModelAdmin):
list_display = ("firstname", "lastname", "joined_date",)
admin.site.register(Member, MemberAdmin)
请记住在 admin.site.register(Member, MemberAdmin) 中添加 MemberAdmin 作为参数。
现在返回浏览器,你应该会看到这样的结果:

