テンプレート内の外部キーのDjango values()をIDではなくオブジェクトとして表示します
-
05-07-2019 - |
質問
Model.objects.values( 'item')
...を呼び出すDjangoのクエリセットがあります。 'item'
は外部キーです。
class Words(models.Model):
word = models.CharField()
class Frequency(models.Model):
word = models.ForeignKey(Words)
...
したがって、これはアイテムIDを返し、テンプレートにIDとして表示されます。 idの代わりにテンプレートに実際のアイテムの値を表示するにはどうすればよいですか?
解決
外部キーアイテムのプロパティを参照するには、フィールドで「__」ルックアップ表記を使用する必要があります。 MyModel.objects.values( 'item__prop1'、 'item__prop2'、...)
が機能します。
そして、結果のテンプレート変数の名前が values
である場合、このようなプロパティ名を参照することでテンプレートに印刷できます。
{% for v in values %}
Prop1: {{ v.item__prop1 }}
Prop2: {{ v.item__prop2 }}
...
{% endfor %}
所属していません StackOverflow