django choices Model.get_FOO_display() 不显示解决办法
先贴出来官网的示例:
from django.db import models class Person(models.Model): SHIRT_SIZES = ( ('S', 'Small'), ('M', 'Medium'), ('L', 'Large'), ) name = models.CharField(max_length=60) shirt_size = models.CharField(max_length=2, choices=SHIRT_SIZES)
>>> p = Person(name="Fred Flintstone", shirt_size="L") >>> p.save() >>> p.shirt_size 'L' >>> p.get_shirt_size_display() 'Large'
*********************下面部分是自己的代码************************************************
class GameInfo(models.Model):
game_types = (
(0, '未开服'),
(1, '新服'),
(2, '已合服')
)
type = models.CharField(verbose_name=u'游戏服区状态', max_length=20, choices=game_types)
<td class="td_font">{{ game.get_type_display }}</td>
显示结果一直显示前面的 0 1 2 就是不显示 后面的文字
然后猜想可能是整数和字符串的原因 把0 1 2 改成字符串测试成功了。。。
正确的代码是这样的:
class GameInfo(models.Model):
game_types = (
(‘0’, '未开服'),
(‘1’, '新服'),
(‘2’, '已合服')
)
type = models.CharField(verbose_name=u'游戏服区状态', max_length=20, choices=game_types)
<td class="td_font">{{ game.get_type_display }}</td>