3

可能重复:
Django 打印选择值

在其中一个模型中的 Django 中,我有以下枚举:

PRIORITY = (
        ('2',     _(u'High')),
        ('1',   _(u'Medium')),
        ('0',      _(u'Low')),
    )

priority = models.CharField(max_length=1, choices=PRIORITY, default='1')

将优先级发送给模板时,该值仍然是整数,这不太好。我想用文字而不是数字来显示优先级。

context = Context({'priority':self.priority})

有没有办法在将优先级发送到模板之前不使用任何 if 语句将优先级转换为实际字符串?

4

2 回答 2

5

是的,根据文档,您可以获得这样的人类可读值:

context.get_priority_display()
于 2012-12-01T16:52:31.877 回答
-2

左边的值是 Django 用来存储在数据库中的值。它不必是整数。只需使两个值相同:

PRIORITY = (
        ('high',     _(u'High')),
        ('Medium',   _(u'Medium')),
        ('Low',      _(u'Low')),
    )
于 2012-12-01T16:52:45.053 回答