【发布时间】:2012-08-03 12:11:02
【问题描述】:
我有一个带有图片库标签的数据库。它们包含字段“id”、“picture_id”和“tag”。我正在尝试构建所有标签的列表,但没有两次列出相同的标签。我知道我可以在查询集中使用 distinct() 来做,但是将它与 all() 一起使用只会抛出一个错误,告诉我后端数据库不支持它。 (我正在使用 MySQL)。
如果我使用 values_list('id','tag') 我不会收到该错误。实际上,我根本没有收到任何错误。但是我也没有得到任何可以在我的模板中打印出来的东西。
查询集是这样写的:
tags = Tag.objects.values_list('id', 'tag').distinct().order_by('tag')
在模板中,我可以尝试打印:
{% for tag in tags %}
<p>{{ tag.id }}: {{ tag.tag }}</p>
{% endfor %}
这给了我一长串“:”符号,但它的右侧或左侧没有。这向我表明我的列表中有东西,但我似乎无法使用它。我做错了什么?
编辑:值得注意的是,我尝试在 Shell 中做这些事情,当在那里打印标签时,我得到一个看似由 id 和标签组成的对象列表,但我似乎仍然无法将其输出模板。
【问题讨论】: