Ich versuche Django zu lernen, aber ich brauche Hilfe, weil ich Probleme habe zu verstehen.Wie Template-Tag verwenden, um durch vieleTomanny Modell zu iterieren?
Wie kann ich durch alle meine Modelle iterieren, ohne für jede Ebene der Aufgaben, die ich habe, für Schleifen zu schreiben?
Beispiel, aber ich mag unendliche Teilaufgaben:
Aufgabe # 1
1.1 Subtask # 1
1.2 Subtask # 2
1.2.1 Subsubtask # 3
Aufgabe # 2
2.1 Unteraufgabe # 4
.
.
.
.
Mein Modell viele zu viele Feld auf sich selbst
class task(models.Model):
name = models.CharField(max_length=100)
notes = models.TextField()
created = models.DateTimeField()
created_by = models.ForeignKey(User)
subtask = models.ManyToManyField('self')
Meine Vorlage
{% for task in items %}
<li>{{ task.name }}
<ul>
{% for subtask in task.subtask.all %}
<li>{{ subtask.name }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
Wie kann ich ein Template-Tag für Schlaufe Aufgaben
Guter Punkt auf den kreisförmigen Teilaufgaben. Warum ist es besser, ein benutzerdefiniertes Tag zu implementieren, als das mit zu verwenden? – TanyaG
Die Verwendung von "' with' "ist bereits eine Art von Kung-Fu, die verhindert, dass der Template-Compiler unendlich rekursiv ist ... Darüber hinaus ist Python eine mächtigere Sprache als die Django-Templating-Sprache, macht es also leichter (oder überhaupt möglich, eine ernsthafte Logik zu implementieren, sa Verhinderung einer unendlichen Rekursion durch z.B. Sammeln von besuchten Aufgaben oder ähnlichem. – schwobaseggl