Как выполнить следующее задание в django orm

У меня есть две модели. одна - Автор, другая - Книга. у автора может быть несколько книг. поэтому id автора является внешним ключом. и у меня есть следующие данные.

Авторская таблица

id Author Name
1 Tom

Таблица книг

id Author Book Name
1 1 rescue a person
2 1 be a doctor

Я хочу создать функцию для получения следующего результата при запросе записи автора.

id author name books name
1 Tom rescue a person, be a doctor

для one2many и M2M используется prefetch_related:

from django.db.models import Prefetch
author = Author.objects.filter(pk=1).prefetch_related(Prefetch('book_set',to_attr='books'))

теперь в author[0].books приведены книги автора. ref

Если вы хотите избежать последующих запросов при итерации по набору запросов, достаточно ответа @Amin Mir.
. Если вам нужно, чтобы данные агрегировались внутри вашего набора запросов, вам следует взглянуть на:

Пример GroupConcat doc должен помочь вам с синтаксисом

Вернуться на верх