2013-08-31 153 views
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'。怎麼做。我試過'__'選項,但那不起作用。

+0

「{{prospect.customer_type.queryset.customer_type_name}}」或「{{project.customer_type.customer_type_name}}」是否工作? – alecxe

+0

他們都沒有工作。 – syv

+1

恐怕這可能是因爲'values',你可以爲了測試目的而忽略它嗎? – alecxe

回答

0

當您使用values時,不會執行外鍵。從Django documentation

如果你有一個叫做foo字段是一個ForeignKey,默認值()調用將返回名爲foo_id字典關鍵,因爲這是存儲的實際值的隱藏模式屬性的名稱(foo屬性指的是相關模型)。當你調用values()並傳入字段名稱時,你可以傳入foo或foo_id,你將得到相同的結果(字典關鍵字將匹配傳入的字段名稱)。

正如@alecxe說,忽略.values電話。