テンプレート内の外部キーのDjango values()をIDではなくオブジェクトとして表示します

StackOverflow https://stackoverflow.com/questions/1602557

質問

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 %}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top