Как подсчитать экземпляры модели ForeingKeys на строку в таблице шаблона?
Я хочу подсчитать, сколько "планов" имеет "клиент" на строку таблицы в моем шаблоне, вот часть кода
urls.py>>> urlpatterns = [ path('clients/', views.indexClient, name='clients'),]
models.py
class Plan (models.Model):
name = models.CharField(max_length=100, unique=True)
client = models.ForeignKey('Client', on_delete=models.RESTRICT)
gp_code = models.CharField(max_length=13, primary_key=True)
dispatch_conditions = models.TextField()
elaboration = models.CharField(max_length=100)
reviewer = models.CharField(max_length=100)
def __str__(self):
return self.product
------------------------------------------------------------------------------------
class Client (models.Model):
name = models.CharField(max_length=100, unique=True)
rif_num = models.CharField(max_length=10, primary_key=True)
def __str__(self):
return self.name
views.py
from django.db.models import Count
from .models import *
def indexClient(request):
client_list = Client.objects.all()
plans = Client.objects.annotate(num_plan = Count('plan'))
template = loader.get_template('app/clients.html')
context={'client_list':client_list, 'plans':plans}
return HttpResponse(template.render(context, request))
шаблон clients.html
<table>
<thead>
<tr>
<th>Client</th>
<th >Plans</th>
</tr>
</thead>
<tbody>
{% for client in client_list %}
<tr>
<td>{{ client.name }}</td>
<td>{{ plans.num_plan }}</td>
</tr>
{% endfor %}
</tbody>
</table>
я пытался применить методы, указанные в этом, этом и этом вопросах, но у меня ничего не получилось, или я неправильно применяю Count()
хочу, чтобы таблица отображалась так же, как...
Client | Plans |
---|---|
Jhon | 2 |
Mark | 4 |
Louis | 0 |
Vic | 1 |
но в настоящее время "Планы" отображаются пустые...
Client | Plans |
---|---|
Jhon | |
Mark | |
Louis | |
Vic |