一、前言
admin管理后台里的每张数据表的每条表数据的标题默认展示的数据格式是【模型类名 object(主键名)】比如【Person object(9)】;
但这样默认展示的数据格式,如果我们感觉比较不那么直观想改成我们想要展示的数据格式,我们可以更改相关模型类里的代码块内容来进行优化;
细节:
①.我们选择模型类【Person】来进行接下来的相关操作;
二、表数据的标题默认展示的数据格式是【模型类名 object(主键名)】的相关信息
细节:
①.模型类【Person】此时最新的代码内容如下:
# 新增一张人类表,表名为hello_person,有两个表字段:name,age,表字段name数据类型是字符串类型,表字段age数据类型是int类型。
class Person(models.Model):
name = models.CharField(max_length=30) # 后续会对应生成一个表字段name
age = models.IntegerField() # 后续会对应生成一个表字段age
②.父类【models.Model】里的方法【__str__】的代码内容如下:
三、优化表数据的标题展示的数据格式是【改成我们想要展示的数据格式】的相关完整操作步骤
1、第一步:修改模型类【Person】的代码内容
细节:
①.在模型类里的特殊方法【__str__】的返回值必须满足2点:
⑴.返回值的数据类型必须是str;
⑵.返回值里不能包含中文,否则新增或编辑表数据时会报错;(我有调试过,返回值里的确不能包含中文)
# 新增一张人类表,表名为hello_person,有两个表字段:name,age,表字段name数据类型是字符串类型,表字段age数据类型是int类型。
class Person(models.Model):
name = models.CharField(max_length=30) # 后续会对应生成一个表字段name
age = models.IntegerField() # 后续会对应生成一个表字段age
def __str__(self):
return "hello_person(table)" + ":id->" + str(self.id)
细节:
①.上面的操作,其实是在子类【Person】里重写了父类【models.Model】里的方法【__str__】的代码内容;
2、第二步:重启django项目【helloworld】的服务
3、第三步:重新成功登陆admin管理后台
4、第四步:查看被成功优化后的【hello_person】表表数据的标题展示的数据格式