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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值