У меня две модели:
class Author(models.Model);
name = models.CharField(max_length=255)
class Book(models.Model):
title = models.CharField(max_length=255)
authors = models.ManyToManyField(Author, null=True, blank=True)
Теперь я хочу получить информацию обо всех книгах. Итак, я сделал:
book_info = Book.objects.all().values('title', 'authors__name')
И, он дает выход вроде (для 1 книги с 2 авторами):
[{'title': u'book1', 'authors__name': u'author1'},{'title': u'book1', 'authors__name': u'author2'}]
То, что я хотел, было что-то вроде:
[{'title': u'book1', 'authors': [{'name':u'author1'},{'name':u'author2'}]}]
У меня может быть больше полей в модели автора, поэтому хотелось бы также получить эти поля.
Могу ли я сделать это в одном запросе?
Что я могу сделать, чтобы получить что-то вроде желаемого результата?