现在的位置: 首页 > 综合 > 正文

控制django中admin组件显示的记录的显示内容(不再都是Object这样显示)

2013年10月22日 ⁄ 综合 ⁄ 共 788字 ⁄ 字号 评论关闭

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

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

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

           

class watch(models.Model):
    '''
    值班人表,包含所有值班人信息,可以根据权限power来决定是否有权力新建dutyInfo表信息
    '''
    name=models.CharField(max_length=50)
    depart=models.CharField(max_length=50)
    phone=models.IntegerField()
    power=models.BooleanField()
    class Meta:
        verbose_name='值班人'            #改变表在admin中的名字
        verbose_name_plural='值班人'
    def __unicode__(self):
        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字段了。

 

抱歉!评论已关闭.