在模板中使用监听的Django ManyToMany查询。

问题描述 投票:1回答:1

我正在为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)
django django-templates many-to-many
1个回答
0
投票

你也可以使用 prefetch_relatedApplications:

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 %}
© www.soinside.com 2019 - 2024. All rights reserved.