不仅在admin中使用CharField选项

时间:2011-01-28 19:28:40

标签: django django-models

我有一个带有属性的模型,该属性代表某些东西的当前状态。

STATUSES = (('status1', 'The first status'),('status2', 'The second status'),('status3', 'The third status'))
status = models.CharField(choices=STATUSES)

使用Django-Admin时,会显示选项(即“第一个状态”)而不是值(即“status1”)。在我的某个模板中打印出状态时,如何实现此目的?或者在这种情况下是否有更好的模型字段?

我知道我可以在STATUSES中的元组中的两个元素中使用相同的字符串,但这看起来非常糟糕,如果需要,很难重命名。

1 个答案:

答案 0 :(得分:3)

要显示当前所选选项的人类可读版本,请使用:

{{ instance.get_myfield_display }}

http://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_FOO_display