根据文档,当关系使用select_related()且为onetoone时,您应该能够捕获反向关系。但是它并没有工作,那么我可能错过了什么?
我的类看起来像这样:
class MainPage(models.Model):
book = models.OneToOneField(Book, primary_key=True)
text = models.TextField(blank=True)
我能很好地完成这个任务:
book = Book.objects.get(id=book_id, active=True)
main_page = book.mainpage
但是这样做并不会减少数据库调用:
book = Book.objects.select_related('mainpage').get(id=book_id, active=True)
main_page = book.mainpage