Если мои модели выглядят так:
class Publisher(models.Model):
pass
class Book(models.Model):
publisher = models.ForeignKey(Publisher)
class Page(models.Model):
book = models.ForeignKey(Book)
и я хотел бы получить запрос для Publisher
я do Publisher.object.all()
.
Если вы хотите убедиться в предварительной выборке, я могу сделать:
Publisher.objects.all().prefetch_related('book_set')`
Мои вопросы:
- Есть ли способ сделать эту предварительную выборку с помощью
select_related
или я должен использоватьprefetch_related
? - Есть ли способ предварительной выборки
page_set
? Это не работает:
Publisher.objects.all().prefetch_related('book_set', 'book_set_page_set')