<p>我强烈建议在模型声明中使用Django ForeignKey <code>related_name</code>属性,这使得向后关系操作更加容易:<a href="https://docs.djangoproject.com/en/1.11/ref/models/fields/#django.db.models.ForeignKey.related_name" rel="nofollow noreferrer">https://docs.djangoproject.com/en/1.11/ref/models/fields/#django.db.models.ForeignKey.related_name</a></p>
<p>在你的情况下,它会变成</p>
<p><strong>型号.py:</strong></p>
<pre><code>class GroupRequirementType(models.Model):
name = models.CharField(_('Name'), max_length=250)
class GroupRequirement(models.Model):
group_requirement_type = models.ForeignKey(GroupRequirementType, related_name='group_requirements', on_delete=models.CASCADE)
name = models.CharField(_('Name'), max_length=250)
class Requirement(models.Model):
group_requirement = models.ForeignKey(GroupRequirement, related_name='requirements', on_delete=models.CASCADE)
name = models.CharField(_('Name'), max_length=250)
</code></pre>
<p><strong>模板:</strong></p>
<pre><code>{% for group_requirement_type in group_requirement_types %}
{{ group_requirement_type }}
{% for group_requirement in group_requirement_type.group_requirements.all %} <! DONT WORK. WHY? >
{{ group_requirement }}
{% for requirement in group_requirement.requirements.all %}
{{ requirement }}
{% endfor %}
{% endfor %}
{% endfor %}
</code></pre>