2009-10-21 4 views
10

DjangoにはModel.objects.values('item')を呼び出すクエリセットがあります。'item'は外部キーです。外部キーのDjango値()は、IDの代わりにオブジェクトとしてのテンプレートとしてオブジェクトに表示されます

class Words(models.Model): 
    word = models.CharField() 

class Frequency(models.Model): 
    word = models.ForeignKey(Words) 
    ... 

これでアイテムIDが返され、テンプレートのIDとして表示されます。どのようにIDの代わりにテンプレートに実際のアイテムの値を表示するのですか?外部キー項目のプロパティを参照するために

答えて

12

、あなたは「__」フィールド内のルックアップ表記を使用する必要があります。 MyModel.objects.values('item__prop1', 'item__prop2', ...)がうまくいくはずです。

そして、あなたは結果のためのテンプレート変数の名前はvaluesあるとき、このようなプロパティ名を参照することにより、テンプレートでそれを印刷することができます。

{% for v in values %} 
    Prop1: {{ v.item__prop1 }} 
    Prop2: {{ v.item__prop2 }} 
    ... 
{% endfor %} 
+3

明らかAchimnoiは、例として 'PROP1' を使用した - あなたがテンプレートに '' Model.objects.values( 'word__word') 'ビューと' {{v.word__word}}で操作を行うべきです。 –

+0

おかげで、美しく働きました。 – simi

+0

共有ありがとう! – Xiwen

関連する問題