当您将模型显示为列表时,Django 将每条记录显示为记录对象的字符串表示形式,在我们的例子中为 "Member object (1)"、"Member object(2)" 等:
要将其更改为更适合读者的格式,我们有两种选择:
__str__()
会员模型list_details
会员模型的属性要更改字符串表示形式,我们必须定义__str__()
会员模型的功能models.py
, 像这样:
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__()
function 不是 Django 功能,它是如何更改 Python 中对象的字符串表示形式。在我们的文章中阅读有关 Python 对象的更多信息Python 对象教程。
我们可以通过在 a 中指定字段来控制要显示的字段list_display
属性在admin.py
文件。
首先创建一个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)
。
现在返回浏览器,您应该得到以下结果:
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!