私はリストを再帰しようとしています。最大再帰深度?どのように防止する?
私は別のタスクの下で1つのタスクしか持っていても、ERROR最大再帰深度を実行しますか?どうして?
task_recurse.html
{% if items %}
<ul>
{% for task in items %}
<li>
{{ task.name }}
{% with items=task.subtask.all template_name="task_recurse.html" %}
{% include template_name %}
{% endwith %}
</li>
{% endfor %}
</ul>
{% endif %}
task.html
{% include "task_recurse.html" with items=items %}
タスクモデル
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')
それは私のビューにエラーを与えますか?これは問題ですか?
def tasks(request):
items = task.objects.all()
return render(request, 'tasks.html', {'items': items})
ので、2つの質問は本当に:
1)なぜ私は1つのタスクだけがサブタスクである二つのタスクを持って、このリターンの最大の再帰の深さ?
2)どのようにして無限再帰を防ぐことができますか?