显示字段选择作为模型字符串名称的一部分 [英] Display field choice as part of model string name

查看:119
本文介绍了显示字段选择作为模型字符串名称的一部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

django文档中,如果我有

  GENDER_CHOICES =(
('M','男'),
('F','女'


class Person(models.Model):
name = models.CharField(max_length = 20)
gender = models.CharField(max_length = 1,选择= GENDER_CHOICES

def __str __(self):
返回%s [%s]%(self.name,self.gender)

如果我想要将__str定义显示为self.gender而不是M或F的全名(男性或女性)?

解决方案

使用 get_gender_display()

  return u%s [%s]%(self.name,self.get_gender_display())
__ unicode __ 而不是 __ str __


From the django documentation, what if I had

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)

What if I wanted the __str definition to display as the full name (Male or Female) for self.gender instead of M or F?

解决方案

Use get_gender_display():

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

Note, if you're not using Python 3+ you should be defining __unicode__ rather than __str__.

这篇关于显示字段选择作为模型字符串名称的一部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆