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>


























原文地址:https://www.cnblogs.com/xianyin/p/9207737.html