如果我的模型看起来像这样:
If my Models look like:
class Publisher(models.Model):
pass
class Book(models.Model):
publisher = models.ForeignKey(Publisher)
class Page(models.Model):
book = models.ForeignKey(Book)
我想获取Publisher
的查询集,我使用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')