无法在Django 2.0模板中显示相关字段

时间:2018-03-27 15:34:07

标签: python django

我是Django的新手,无法从我的任何搜索中找到答案。

我在Django 2.0模板中显示相关字段时遇到问题。我的模型中有两个字段指的是同一个外国模型。处理这个问题的最佳方法是什么?

我非常感谢您对此提供任何帮助。

模型

class Clients(models.Model):
    company_name = models.CharField(max_length=150)
    type = models.ForeignKey(Types, on_delete=models.PROTECT)
    division = models.ForeignKey(Divisions, on_delete=models.PROTECT)
    address1 = models.CharField(max_length=150, null=True, blank=True)
    address2 = models.CharField(max_length=150, null=True, blank=True)
    city = models.CharField(max_length=150, null=True, blank=True)
    state = models.CharField(max_length=30, null=True, blank=True)
    zip = models.CharField(max_length=30, null=True, blank=True)
    name = models.CharField(max_length=150, null=True, blank=True)
    phone = models.CharField(max_length=75, null=True, blank=True)
    mobile = models.CharField(max_length=75, null=True, blank=True)
    fax = models.CharField(max_length=150, null=True, blank=True)
    email = models.EmailField(null=True, blank=True)
    website = models.URLField(null=True, blank=True)
    pb_support_rate = models.ForeignKey(SupportRates, null=True, on_delete=models.PROTECT, related_name='pb_rate', blank=True)
    px_support_rate = models.ForeignKey(SupportRates, null=True, on_delete=models.PROTECT, related_name='px_rate', blank=True)

查看

class ClientsDetailView(DetailView):
    model = models.Clients
    context_object_name = 'client_details'
    template_name = 'client_details.html'

模板

<tr>
    <th style=" border: 1px solid black;padding: 0px 5px 0px 5px;white-space: nowrap;">PB Support Rate</th>
    <td style=" border: 1px solid black;padding: 0px 5px 0px 5px;white-space: nowrap;" >{{ object.pb_support_rate|default_if_none:'' }}</td>
    <td style=" border: 1px solid black;padding: 0px 5px 0px 5px;white-space: nowrap;text-align:right;" >{{ object.pb_rate__rate_amount }}</td>
</tr>  

1 个答案:

答案 0 :(得分:1)

只需在模板中使用字段名称即可。同一型号的外键是否有1个,2个或10个并不重要。

字段名称为pb_support_rate,因此{{ object.pb_support_rate }}应该可以正常使用。

该模型没有字段名称pb_rate__rate_amount,因此我不知道您期望object.pb_rate__rate_amount做什么 - 也许您的意思是

{{ object.pb_support_rate.rate_amount }}