我有一个带有图片库标签的数据库。它们包含字段“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 和标签组成的对象列表,但我似乎仍然无法在模板中输出它。