让admin中的记录显示为有意义的信息,不要是Object对象形式(中文类别)

本文介绍如何在Django的admin界面中优化显示效果,通过添加__unicode__()方法使记录更具辨识度,并使用verbose_name及verbose_name_plural来改善表名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.让admin中的记录显示为有意义的信息,不要是Object对象形式

            在django中,如果我们不对model添加一些信息,那么当我们在admin中查看数据库中的记录时,会发现都是Object对象的形式,我们不能很直观的看到数据的区别。这时我们需要对model进行一些改变:

            为model中的每个class添加一个__unicode__()方法,其中返回你想要数据在admin中显示的字段。例如:

           

[python]  view plain copy
 
  1. class watch(models.Model):  
  2.     ''''' 
  3.     值班人表,包含所有值班人信息,可以根据权限power来决定是否有权力新建dutyInfo表信息 
  4.     '''  
  5.     name=models.CharField(max_length=50)  
  6.     depart=models.CharField(max_length=50)  
  7.     phone=models.IntegerField()  
  8.     power=models.BooleanField()  
  9.     class Meta:  
  10.         verbose_name='值班人'            #改变表在admin中的名字  
  11.         verbose_name_plural='值班人'  
  12.     def __unicode__(self):  
  13.         return self.name                #显示记录时,用name来区别  

设置好以后我们在django的admin中显示的对象就是以name字段来区别的。不再都是Object这样。

注意:我们这个例子中还有一个class Meta,其中的verbose_name和verbose_name_plural分别代表类在admin中的显示和其复数形式。设置好后,显示如下:

1.设置verbose_name和verbose_name_plural后,watch表显示为‘值班人’

2.设置__unicode__()方法后,记录的标识编程了name字段了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值