Я пытаюсь пройтись по разным зонам, а затем показать элементы, которые являются частью этой зоны
Зона - это модель, имя и ForeignKey. Планш - это модель, у которой Zone as ForeignKey.
Я перебираю зоны для отображения каждой зоны. В этом цикле я зацикливаю все Планки и хотел бы отображать только те, которые имеют Зону как ForeignKey.
class Zones(models.Model):
name = models.CharField(max_length=30)
genre = models.ForeignKey(ZoneTypes, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Planche(models.Model):
pzone = models.ForeignKey(Zones, on_delete=models.CASCADE)
ref = models.CharField(max_length=5, default="1")
length = models.IntegerField()
width = models.IntegerField()
orientation = models.CharField(max_length=30)
def __str__(self):
return self.ref
Template
<div>
<h1><a href="/">My list of planches</a></h1>
</div>
{% for z in zones %}
<div>
<h2><a href="/zone/{{ z.name }}">Zone name: {{ z.name }}</a></h2>
{% for p in planches %}
{% if p.pzone == z.name }
<h1><a href="planche/{{ planche.ref }}">Ref: {{ p.ref }}</a></h1>
<p>Length: {{ p.length }} - Width: {{ p.width }}</p>
<p>Orientation: {{ p.orientation }}
{% endif %}
{% endfor %}
</div>
{% endfor %}
{% if p.pzone = z.name%} возвращает False,
Они оба возвращают одну и ту же строку, если я просто отображаю их {{p.pzone}} и {{z.name}}, но я предполагаю, что они не имеют одинаковый тип данных. Я пытался преобразовать их в строки в выражении {% with%}, но у меня не получается