我已将django模型中的月份字段定义为:
from django.utils.dates import MONTHS
class Month(models.Model):
month = models.IntegerField(choices=MONTHS.items(), blank=True, null=True)
def __str__(self):
return str(self.month)
在我尝试获取月份输出的那一刻,我得到了整数月份,如1,2,3 ...... 12.我怎样才能获得像1月,2月等文字或人类可读的月份我可以看到它,因为我可以在管理标签中看到它们。
修改
有人来这里提出这样的问题。我可以使用内置于django中的get_month_display() method来使其正常工作。
months_list = Month.objects.all()
for month in month_list:
print(month.get_month_display())
答案 0 :(得分:0)
您可以将choices
的元组列表传递给models.IntegerField
choices = [(k, v) for k, v in MONTHS.items()]
class Month(models.Model):
month = models.IntegerField(choices=choices, blank=True, null=True)
答案 1 :(得分:0)