显示字段选择作为模型字符串名称的一部分 [英] Display field choice as part of model string name
本文介绍了显示字段选择作为模型字符串名称的一部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
从 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())
$注意,如果你不使用Python 3+,你应该定义
__ 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屋!
查看全文