在模板中监听的 Django ManyToMany 查询

Django ManyToMany query with listening in template

我正在为 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)

您还可以在 Application 的查询中使用 prefetch_related

def some_view(request):
    applications = Application.objects<b>.prefetch_related('book')</b>
    return render(request, 'some_template.html', {'applications': applications})

在模板中,您可以使用以下方式呈现:

{% for application in applications %}
    <b>application.name</b> {% for server in <b>application.book.all</b> %}{{ server.title }}{% endfor %}
{% endfor %}