将字段选择显示为模型字符串名称的一部分



从django文档中,如果我有怎么办

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,该怎么办?

使用get_gender_display():

return u"%s [%s]" % (self.name, self.get_gender_display())

请注意,如果您不使用Python3+,则应该定义__unicode__而不是__str__

最新更新