0

テンプレートに外部キー参照値を表示しようとしています。私のモデルは以下の通りです

class CustomerType(models.Model):

    customer_type_id        = models.AutoField(primary_key=True)
    customer_type_name      = models.CharField(max_length=15)

class Prospects(models.Model):

    prospect_id         = models.AutoField(primary_key=True)
    customer_type       = models.ForeignKey(CustomerType )

マイクエリ

prospectList = Prospects.objects.using (settings.DATABASE_CONF).filter (status=1).values 
        ('prospect_id' , 'customer_type')

テンプレート

<td>
{{ prospect.customer_type_id }}
</td>

「customer_type_id」しか取得できませんが、「customer_type_name」を表示したいです。どうやってするの。「__」オプションを試しましたが、うまくいきません。

4

1 に答える 1

0

を使用するvaluesと、外部キーは追跡されません。Djangoのドキュメントから:

ForeignKey である foo というフィールドがある場合、default values() 呼び出しは foo_id という辞書キーを返します。これは、実際の値を格納する非表示のモデル属性の名前であるためです (foo 属性は関連するモデルを参照します)。 )。values() を呼び出してフィールド名を渡す場合、foo または foo_id のいずれかを渡すと、同じ結果が返されます (辞書のキーは、渡したフィールド名と一致します)。

@alecxeが言ったように、.values呼び出しを省略します。

于 2013-08-31T21:21:00.583 に答える