Я пытаюсь создать таблицу на своем веб-сайте Django, которая будет показывать всем клиентам компании-консультанта и каждой компании, сколько контрактов у них еще есть на сегодняшний день
Кажется, мой код работает, но онпокажи мне две одинаковые строки и работай так, как будто они не равны
Я попытался сделать такую логику: я делаю цикл for на каждом клиенте, чтобы построить мою таблицу (строку для каждого клиента)
В моем шаблоне для каждого клиента я сделаю forloop каждого контрата, чтобы проверить, является ли клиент-контракт клиентом: если это так, я увеличиваю var и в конце этого подзаголовка я могу показать, сколько миссий существует длякаждый клиент
Вот фрагмент кода моего шаблона:
<table class="contenu">
<thead>
<th>Nom client</th>
<th>Domaine</th>
<th> Missions en cours </th>
<th>Modification </th>
</thead>
<tbody>
{% for client in listeClients %}
<tr>
<td>{{ client.nomClient }}</td>
<td>{{ client.domaineClient }}</td>
{% with compteur=0 %}
{% for mission in missionsEnCours %}
{% if client.nomClient == mission.client %}
{{compteur|augment}}
<script>alert("Ca incrémente")</script>
{% else %}
<script>alert("{{ client.nomClient }} ---et--- {{ mission.client }}")</script>
{% endif %}
{% endfor %}
<td>{{ compteur }}</td>
<td><a href="">MODIFIER</a></td>
</tr>
{% endwith %}
{% endfor %}
</tbody>
</table>
Я пытался отладить с предупреждением, и иногда он показывает мне две идентичные строки, но var compteur никогда не увеличивается, и этоникогда не показывать предупреждение "Ca incremente"
пример идентичных строк, отображаемых в предупреждении:
https://zupimages.net/up/19/41/p4aj.png
Чего мне не хватает?
Моймодели:
class client(models.Model):
nomClient = models.CharField(max_length=200)
domaineClient = models.CharField(max_length=200)
def __str__(self):
return self.nomClient
class experiences(models.Model):
nomMission = models.CharField(max_length=300)
client = models.ForeignKey(client, on_delete=models.CASCADE)
serviceConcerne = models.ForeignKey(services, on_delete=models.CASCADE)
dateDebut = models.DateField('date de début de mission')
dateFin = models.DateField('date de fin de mission', blank=True, null=True)
nbJourHomme = models.IntegerField()
contexteMission = models.TextField()
descriptifMission = models.TextField()
environnementMission = models.TextField()
collaborateurMission = models.ForeignKey(collaborateurs, on_delete=models.CASCADE, default='')
def __str__(self):
return self.nomMission
Мой взгляд:
def client_all(request):
listeClients = client.objects.order_by("nomClient")
missionsEnCours = experiences.objects.filter(dateFin__gte=datetime.date.today()).order_by("dateFin")
return render(request, 'collab/client.html', {'listeClients': listeClients, 'missionsEnCours':missionsEnCours})
Большое спасибо:)