我有一个带有属性的模型,该属性代表某些东西的当前状态。
STATUSES = (('status1', 'The first status'),('status2', 'The second status'),('status3', 'The third status'))
status = models.CharField(choices=STATUSES)
使用Django-Admin时,会显示选项(即“第一个状态”)而不是值(即“status1”)。在我的某个模板中打印出状态时,如何实现此目的?或者在这种情况下是否有更好的模型字段?
我知道我可以在STATUSES
中的元组中的两个元素中使用相同的字符串,但这看起来非常糟糕,如果需要,很难重命名。
答案 0 :(得分:3)
要显示当前所选选项的人类可读版本,请使用:
{{ instance.get_myfield_display }}
http://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_FOO_display