我正在使用Django,我想知道是否有办法修改下面的标记,以便在满足特定条件后停止迭代for循环?
webpage.html
<div>
{% for person in crew.crew_set.all %}
{% if person.job|stringformat:'s' == 'Supervisor' %}
<div>Supervisor</div>
{% endif %}
{% endfor %}
</div>
上面的代码导致"Supervisor"被写入50次.我可以合并这两个标记,或者使用Break语句,这样"Supervisor"只列出一次吗?
我没有列出我的模型/视图,因为我只是想更好地理解如何在我的html页面上使用标签.
Details:个
Models.py
class Person(models.Model):
name = models.CharField(max_length=200)
class Jobs(models.Model):
jobcode = models.CharField(max_length=5)
name = models.CharField(max_length=200)
class Crew(models.Model):
jobnumber = models.ForeignKey(Jobs, on_delete=models.CASCADE)
person = models.ForeignKey(Person, on_delete=models.CASCADE)
role = models.CharField(max_length=200)
Views.py
class PersonPageView(DetailView):
model = Person
queryset = Person.objects.prefetch_related(
Prefetch('jobs_set', Jobs.objects.select_related('jobnumber')),
Prefetch('crew_set', Crew.objects.select_related('person'))
)
template_name = '_person_info.html'