列出 django 模型的显示名称
我有一个对象:
POP_CULTURE_TYPES = (
('SG','Song'),
('MV', 'Movie'),
('GM', 'Game'),
('TV', 'TV'),
)
class Pop_Culture(models.Model):
name = models.CharField(max_length=30, unique=True)
type = models.CharField(max_length=2, choices = POP_CULTURE_TYPES, blank=True, null=True)
然后我有一个函数:
def choice_list(request, modelname, field_name):
mdlnm = get.model('mdb', modelname.lower())
mdlnm = mdlnm.objects.values_list(field_name, flat=True).distinct().order_by(field_name)
return render_to_response("choice_list.html", {
'model' : modelname,
'field' : field_name,
'field_list' : mdlnm })
这为我提供了在 render_to_response 中传递的“field_list”变量中数据库中所有“类型”条目的不同列表。但我不想要一个显示:
SG
MV
的列表我想要一个显示:
歌曲
电影的
列表,如果我在模板中,我可以在单个对象的基础上执行此操作
object.get_type_display
但是我如何获得所有独特的“的列表”输入数据库中的“条目作为其全名以输出到模板中?
我希望这个问题得到了清楚的描述。 。 。
I have an object:
POP_CULTURE_TYPES = (
('SG','Song'),
('MV', 'Movie'),
('GM', 'Game'),
('TV', 'TV'),
)
class Pop_Culture(models.Model):
name = models.CharField(max_length=30, unique=True)
type = models.CharField(max_length=2, choices = POP_CULTURE_TYPES, blank=True, null=True)
Then I have a function:
def choice_list(request, modelname, field_name):
mdlnm = get.model('mdb', modelname.lower())
mdlnm = mdlnm.objects.values_list(field_name, flat=True).distinct().order_by(field_name)
return render_to_response("choice_list.html", {
'model' : modelname,
'field' : field_name,
'field_list' : mdlnm })
This gives me a distinct list of all the "type" entries in the database in the "field_list" variable passed in render_to_response. But I don't want a list that shows:
SG
MV
I want a list that shows:
Song
Movie
I can do this on an individual object basis if I was in the template
object.get_type_display
But how do I get a list of all of the unique "type" entries in the database as their full names for output into a template?
I hope this question was clearly described. . .
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 choice_list() 的末尾添加类似的内容怎么样?
或者在没有 dict() 调用的一行中:
不太漂亮,但它会一直工作,直到遇到更好的东西。
How about something like this at the end of your choice_list()?
Or in one line w/o the dict() call:
Not pretty but it will work until to run across something better.
您可以使用:
示例:
不需要解决方法:)
You could use:
Example:
There is no need for workarounds :)