list_display。如何从选择中显示价值?

时间:2013-04-26 11:20:50

标签: django django-admin

STATUS = (
    (1, "Sent"),
    (2, "Not send",),)

class Log(models.Model):
        status = models.CharField(max_length=255,choices=STATUS)

管理员

class LogAdmin(admin.ModelAdmin):
    list_display=['status']

此显示:

  

状态 - (leer)

如何显示状态 - 已发送或未发送?

2 个答案:

答案 0 :(得分:16)

只需使用:

class LogAdmin(admin.ModelAdmin):
    list_display=['get_status_display']

Django documentation: get_FOO_display

答案 1 :(得分:7)

(更新到django 1.8) 最好的是创建一个函数

def get_status(self, obj):
    return obj.get_status_display()

get_status.short_description = 'Status'

将“get_status”放入list_display,状态,它将成为管理列表中的列名。