2014-02-24 45 views
0

我想知道如何在django模板中显示多对多的关系。我发布了我的views.py和我的models.py。我试图找到我自己的解决方案,但我真的不知道如何解决这个问题:/在django模板中显示多对多的内容

models.py

class topic(models.Model): 
     topic = models.TextField(verbose_name = 'Thema') 
     learningObjectivesTopic = models.ManyToManyField(learningObjective, verbose_name = "Lernziel") 

class learningObjective(models.Model): 
     learningObjectives = models.TextField(verbose_name = 'Lernziel') 

views.py

@login_required(login_url='login') 
def themen(request): 
     return render(request, 'themen.html') 

@login_required(login_url='login') 
def create_themen(request): 
     neueThemen=topic(topic=request.POST['thema']) 
     neueThemen.save() 
     neueThemen_Lernziel=learningObjective(learningObjectives=request.POST['Lernziel']) 
     neueThemen_Lernziel.save() 
     neueThemen.learningObjectivesTopic.add(neueThemen_Lernziel) 
     return render(request, 'themen.html', {'thema': topic.objects.all(), 'lernziel': learningObjective.objects.all()}) 

和我未完成的模板“themen.html”

<!DOCTYPE html> 

<html> 

<head> 

</head> 

<body> 

<form action="{% url 'create_themen' %}" method="post"> 
{% csrf_token %} 
<br>Hallo Benutzer: {{ user.username }}</br> 
<br>Thema: <textarea name="thema" rows="3" cols="45"></textarea></br> 
<br>Lernziel: <textarea name="Lernziel" rows="3" cols="45"></textarea></br> 
<input type="submit" value="Absenden" /> 

<br>Aktuelle Themen:</br> 
</form> 
{% for thema_ in thema %} 
{{ thema_.topic }}<br/> 
{{ thema_. 
{% endfor %} 


</body> 

</html> 

回答

1

鉴于thema对象,如果要显示许多到许多领域,

{% for topic in thema %} 
    {{topic.topic}} 
    {% for lo in topic.learningObjectivesTopic.all %} 
     {{lo.learningObjectivesTopic}} 
    {% endfor %} 
{% endfor %} 
+0

同样的东西..在你访问过很多很多的方式不改变。请在您认为它不起作用之前尝试一次 – karthikr

+0

检查数据库以查看是否有记录.. – karthikr