Django, цикл внутри дерева отцов и детей
Я пытаюсь перебрать древовидные отношения "отец-ребенок", где ребенок также может быть отцом, и вывести его детей. пока что мне удалось вывести только примитивного отца и детей (но я не могу понять, как вывести детей детей)
Вот модель :
class Component(models.Model):
component_name = models.CharField(max_length=100)
component_manufacturer = models.CharField(max_length=100)
component_model = models.CharField(max_length=100)
component_number = models.CharField(max_length=255)
component_price = models.IntegerField()
component_note = models.TextField()
parent_component = models.ForeignKey("self", verbose_name=(
"Parent Component"), blank=True, null=True, related_name='children', on_delete=models.CASCADE)
is_child = models.BooleanField(default=False)
def __str__(self):
return f"{self.id}, {self.component_name}"
вид :
def index(request):
f = Component.objects.all()
context = {
'f': f
}
return render(request, 'maintenance/index.html', context)
шаблон :
<div class='component'>
Components<ol>
{%for f in f%}
{%if f.is_child is False %}
<li> {{f.component_name}}</li>
<ol>
{% for f in f.children.all %}
<li> {{f.component_name}}</li>
{%endfor%}
</ol>
{%endif%}
{%endfor%}
</ol>
</div>
Спасибо большое!