我正在为ManytoMany关系而苦恼,我想做的是把所有的应用程序和它们的核心对应的服务器(一个应用程序可以存在于多个服务器上),并在模板中列出它们。我想做的是获取所有应用程序及其对应的核心服务器(一个应用程序可以存在于多个服务器上),并在模板中列出它们。到目前为止,我知道如何使用'prefetch_related'查询服务器,并将它们打印在模板中,但如何查询所有应用程序与其对应的服务器,并将它们打印在模板中?
示例模板。
'Some www application','www server','database server for www server'...
先谢谢你。
class Server(models.Model):
title=models.CharField(max_length=40,unique=True)
class Application(models.Model):
name = models.CharField(max_length=40,primary_key=True,unique=True)
book = models.ManyToManyField(Server)
你也可以使用 prefetch_related
询 Application
s:
def some_view(request):
applications = Application.objects.prefetch_related('book')
return render(request, 'some_template.html', {'applications': applications})
在模板中,你可以用这个来呈现。
{% for application in applications %}
<b>application.name</b> {% for server in application.book.all %}{{ server.title }}{% endfor %}
{% endfor %}