模板文件

时间:2019-03-18 19:52:53

标签: django loops for-loop

有两个模型;每个学生可以有多个兴趣爱好,并且使用模板,我可以使第一个模型的for循环很好,但是我无法在模板中为第二个模型建立嵌套循环。 我试图在views.py文件中编写for循环,但是它只返回前n个?我不知道为什么 (我想在模板中显示每个学生列表,并在每个学生内部显示与该学生编号相关的兴趣爱好的另一个列表) models.py:

class student(models.Model):
   studentNumber = models.AutoField(primary_key=True)
   studentName = models.CharField()


class hobbies(models.Model):

  studentNumber = 
  models.ForeignKey(student,on_delete=models.CASCADE,blank=True,null=True)
  hobby = models.CharField()

views.py:

def hobbyList(request):

   b = student.objects.all()
   c = hobbies.objects.(filter=studentNumber=n) ## here is the problem the n

   return render(request,'student/hobby.html',{'b':b,'c':c})

模板文件:

<ul>
 {% for n in b %}
 <li>{{ n.studentNumber }}
   <ul>
    {% for s in c %}
     <li>{{ s.hobby }}</li>
    {% endfor %}
   </ul>
 </li>
  {% endfor %}
</ul>

1 个答案:

答案 0 :(得分:0)

在对Django文档进行了一些最终研究之后,我通过在模板中使用REGROUP过滤器找到了答案。 有关详细信息:这是链接表Django doc regroup filter