我正在玩一个简单的地址簿应用程序,我想在联系人的DetailView中向联系人展示联系人。
在我的模板中:
<table class="table table-bordered table-condensed" style="width:50%;">
{% for company in companies %}
{% if company.name == contact.company %}
<tr>
<td>{{ company.name }}</td>
<td>{{ company.street }}</td>
<td>{{ company.plz }}</td>
<td>{{ company.city }}</td>
</tr>
{% endif %}
{% endfor %}
</table>
我的观点:
class ContactView(DetailView):
model = Contact
template_name = 'contact.html'
def get_context_data(self, **kwargs):
context = super(DetailView, self).get_context_data(**kwargs)
# Companies
context['companies'] = Company.objects.all()
# Return
return context
在我的模特中:
class Company(models.Model):
name = models.CharField(max_length=255,)
和
class Contact(models.Model):
first_name = models.CharField(max_length=255, blank=True, null=True)
last_name = models.CharField(max_length=255,)
company = models.ForeignKey(Company, blank=True, null=True)
我的模板中的if语句有什么问题?
提前感谢您的帮助!
答案 0 :(得分:2)
您应该比较公司本身,而不是名称。
更改
{% if company.name == contact.company %}
到
{% if company == contact.company %}