来自django documentation,如果我有
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
class Person(models.Model):
name = models.CharField(max_length=20)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
def __str__(self):
return "%s [%s]" % (self.name, self.gender)
如果我希望__str定义显示为self.gender而不是M或F的全名(男性或女性),该怎么办?
答案 0 :(得分:30)
使用get_gender_display()
:
return u"%s [%s]" % (self.name, self.get_gender_display())
注意,如果您不使用Python 3+,则应该定义__unicode__
而不是__str__
。