0

我在玩一个简单的地址簿应用程序,我想在联系人的 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 语句有什么问题?

提前感谢您的帮助!

4

1 回答 1

2

您应该比较公司本身,而不是名称。

改变

{% if company.name == contact.company %}

{% if company == contact.company %}
于 2013-08-29T20:16:12.727 回答