迭代多对多模型

时间:2016-11-12 02:44:15

标签: html django django-templates

我有一个这样的模型:

`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')

` 我在写出视图方面遇到了麻烦,基本上是

<li>task #1</li>
  <li>subtask#1.1</li>
  <li>subtask#1.2</li>
<li>task #2</li>
  <li>subtask#2.1</li>
  <li>subtask#2.2</li>
  .
  .
.
.

我尝试创建一个for循环来迭代它们但是它并没有像我想要的那样嵌套显示

{% for task in items %}
 <li>{{ task.name }}</li>
{% for subtask in task %}
  <li>{{ subtask.name }}</li>
{% endfor %}
{% endfor %}

1 个答案:

答案 0 :(得分:1)

这是一个HTML问题,而不是您的django代码

{% for task in items %}
 <li>{{ task.name }}
   <ul>

    {% for subtask in task.subtask.all %}
      <li>{{ subtask.name }}</li>
    {% endfor %}
  </ul>
 </li>
{% endfor %}