画像ギャラリーのタグが付いたデータベースがあります。これらには、フィールド「id」、「picture_id」、および「tag」が含まれています。すべてのタグのリストを作成しようとしていますが、同じタグを2回リストしていません。これは、クエリセットで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 %}
これにより、「:」記号の長い(っぽい)行が表示されますが、右側または左側には何も表示されません。これは私のリストに何かがあることを私に示していますが、私はそれを使用できないようです。私は何が間違っているのですか?
編集:シェルでこれらのことを試してみたのは注目に値します。そこでタグを印刷すると、idとtagの両方で構成されているように見えるオブジェクトのリストが表示されますが、それでもテンプレートに出力されないようです。