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 文档

如果您有一个名为 foo 的字段是 ForeignKey,则默认 values() 调用将返回一个名为 foo_id 的字典键,因为这是存储实际值的隐藏模型属性的名称(foo 属性指的是相关模型)。当您调用 values() 并传入字段名称时,您可以传入 foo 或 foo_id 并且您将返回相同的内容(字典键将匹配您传入的字段名称)。

正如@alecxe 所说,省略.values呼叫。

于 2013-08-31T21:21:00.583 回答