Прошу подсказать, как в шаблоне обратиться к связанным моделям.
Есть 3 таблицы (models.py):
Клиенты - сущность верхнего уровня:
class Client(models.Model):
name = models.CharField(verbose_name='name', max_length=128, unique=True)
reference = models.CharField(verbose_name='reference', max_length=10)
phone = models.CharField(verbose_name='phone', max_length=24)
site = models.CharField(verbose_name='site', max_length=64, unique=True)
def __str__(self):
return self.name
Компании - у одного клиента может быть несколько юр. лиц:
class Company(models.Model):
client = models.ForeignKey(Client, on_delete = models.CASCADE, default=0)
name = models.CharField(verbose_name='name', max_length=128, unique=True)
address = models.CharField(verbose_name='address', max_length=256)
inn = models.CharField(verbose_name='inn', max_length=32, unique=True)
kpp = models.CharField(verbose_name='kpp', max_length=32)
ogrn = models.CharField(verbose_name='ogrn', max_length=32, unique=True)
def __str__(self):
return self.name
Договоры - с каждым юр. лицом может быть подписано несколько договоров:
class Contract(models.Model):
company = models.ForeignKey(Company, on_delete=models.CASCADE, default=0)
kind = models.CharField(verbose_name='Тип', max_length=64)
number = models.CharField(verbose_name='Номер', max_length=64)
def __str__(self):
return self.number
Во views.py сделана такая функция для страницы информации о клиенте:
def clients(request):
clients = Client.objects.all()
companies = Company.objects.all()
contracts = Contract.objects.all()
content = {"clients":clients, "companies":companies, "contracts":contracts}
return render(request, 'mainapp/clients.html', content)
Пытаюсь вывести на страницу сводную таблицу по клиентам с отображением количества юр. лиц и договоров у клиента, чтоб потом при клике на кол-во договоров / лиц переходить на страницу с ними.
В шаблоне такая история:
<table class="table table-hover">
<tr>
<th>Имя</th>
<th>Тег</th>
<th>Телефон</th>
<th>Сайт</th>
<th>Компании</th>
<th>Договоры</th>
</tr>
{% for client in clients %}
<tr>
<td><p>{{ client.name }}</p></td>
<td><p>{{ client.reference }}</p></td>
<td><p>{{ client.phone }}</p></td>
<td><p>{{ client.site }}</p></td>
<td>
<p>
{{ client.company_set.count }} ***// при помощи нескольких часов гуглинга случайно получилось таким образом получить кол-во юр. лиц у клиента.***
</p>
</td>
<td>
<p>
{{ client.??? }} ***// как обратиться к договорам чтобы получить кол-во договоров у клиента?***
</p>
</td>
</tr>
Updated 16 July 2018, 23:07 by 78rus.