Django Запрос ManyToMany с прослушиванием в шаблоне - PullRequest
1 голос
/ 26 мая 2020

Я борюсь с отношениями 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)

1 Ответ

0 голосов
/ 26 мая 2020

Вы также можете использовать prefetch_related в запросе для Application s:

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 %}
...