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

问题描述 投票:0回答:1

我是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>  
python django
1个回答
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 }}
© www.soinside.com 2019 - 2024. All rights reserved.