У меня есть модель Django следующим образом:
class Person(models.Model):
name = models.CharField(max_length=255)
class Relationship(models.Model):
parent = models.ForeignKey(Person)
child = models.ForeignKey(Person)
description = models.TextField(blank=True)
На мой взгляд, я передаю определенного человека и отношения, в которых он / она является родителем:
person = Person.objects.filter(name ='some name')
descendant_relationships = Relationship.objects.filter(parent = person)
Я хочу показать потомков этого человека в списке в шаблоне:
<ul>
{% for item in descendant_relationships%}
<li> {{item.child.name}} - {{item.description}} </li>
{% endfor %}
</ul>
Но этот шаблон кода не будет показывать детей детей (то есть внуков, правнуков и т. Д.). Как я могу заставить этих потомков более низкого уровня появляться? Я предполагаю, что рекурсия необходима где-то, но где?