Django:显示选项值未显示

时间:2014-12-03 20:35:14

标签: python django dictionary

我知道已经提出了类似的问题,但我很难过。我在models.py中有一个月份列表:

MONTH_CHOICES = [
    (1, 'January'),
    (2, 'February'),
    (3, 'March'),
    .....etc.......
]

month = models.CharField(max_length=120, null=False, blank=False)

在forms.py中:

month = ChoiceField(choices=MONTH_CHOICES, required=True)

然后我有一张桌子,我想要显示(winners.html)月份值,(1月,2月等)不是(1,2,3 ......)我有这个:< / p>

{% for w in winners %}
    {{ w.get_month_display }}

现在不显示数字(1,2,3 ......),而是显示任何内容。我错过了什么?

2 个答案:

答案 0 :(得分:1)

您尚未告诉模型字段使用这些选项 - 因此甚至不会定义get_month_display。

另外,我不明白为什么你将字段定义为长度为120的char字段:它应该是一个整数字段,因为这是你的值。

month = models.IntegerField(choices=MONTH_CHOICES, null=False, blank=False)

答案 1 :(得分:0)

您已在表单字段中设置choices,但尝试从模型字段中获取它。为什么不使用modelforms https://docs.djangoproject.com/en/dev/topics/forms/modelforms/