Это мой HTML-код:
{% for divida in Contrato %}
{% for empresa in Empresa %}
<li>
{{empresa.cnpj}} | {{divida.cnpj}} |
{% if empresa.cnpj == divida.cnpj %}
True
{% else %}
False
{% endif %}
</li>
{% endfor %}
{% endfor %}
Это мой результат:
1. 52136308000162 | 72718870000101 | False
2. 05574445000107 | 72718870000101 | False
3. 72718870000101 | 72718870000101 | False
4. 52136308000162 | 05574445000107 | False
5. 05574445000107 | 05574445000107 | False
6. 72718870000101 | 05574445000107 | False
7. 52136308000162 | 52136308000162 | False
8. 05574445000107 | 52136308000162 | False
9. 72718870000101 | 52136308000162 | False
Строки 3, 5 и 7 должны быть True.
Что мне не хватает?
Модель для Эмпреса:
class Empresa(models.Model):
cnpj = models.CharField(max_length=14, primary_key=True)
def __str__(self):
return self.cnpj
Модель для контрато:
class Contrato(models.Model):
contrato = models.CharField(max_length=150, null=False)
cnpj = models.ForeignKey('users_c2p.Empresa', on_delete=models.PROTECT, null=False)
Это как социальный номер для компаний в Бразилии.





Эти два значения никогда не будут равны. Один — это строка, а другой — объект Empresa.
Вы можете исправить это, сравнив с соответствующим полем связанного объекта:
{% if empresa.cnpj == divida.cnpj.cnpj %}
но я никак не могу понять, зачем вы это делаете. Чтобы получить объект Empresa, связанный с Contrado, нужно сделать именно то, что вы уже делаете: divida.cnpj. Нет необходимости отдельно перебирать все Empresas, пока не найдете тот, который соответствует тому, что у вас уже есть.
Ой! Спасибо! Это сработало! На самом деле я так и сделал, потому что мне нужно получить изображение из Empresa.
Теперь я понял, что я мог бы назвать это: {{divida.cnpj.logo.url}} с самого начала!
Не забудьте принять ответ, как указание будущим искателям, что он решил вашу проблему.
Конечно, извините! Это действительно помогло мне!
Пожалуйста, покажите модели. Что это за поля
cnpj?