我是新手,我想知道如何在命名组中做出选择,在django文档中它说"您还可以将您可用的选择收集到可用于组织目的的命名组中#34 ;.根据文档,我尝试在下面制作一些模型
python_2_unicode_compatible
class Music(models.Model):
Media_Choices=[('Audio',(('vinyl','Vinyl'),
('cd','CD'),))
,('Video',(('vhs','VHS Tape'),
('dvd','DVD'),)),
('unknown','Unknown'),]
Music_Media=models.CharField(max_length=10,choices=Media_Choices)
def __str__(self):
return self.get_Music_Media_display()
当我为我的模型进行迁移和创建对象时没有问题,我的问题是如何在查询时访问组选项的元组(特别是选项的人类可读名称)?这是我的代码吗? (实现选择进入命名组的方式),如果我错了,请纠正我。谢谢。抱歉我的英文不好
答案 0 :(得分:0)
为了检索人类可读的名称,您需要使用Model.get_FOO_display()
方法。
在你的情况下,这应该可以解决问题。
#lets say song is a Music object
print song.get_Music_Media_display()
以下是此方法的更多文档。 https://docs.djangoproject.com/en/1.9/ref/models/instances/#django.db.models.Model.get_FOO_display