让我们说我有一个数据库关系模型:
loan
与1 customer
相关联。它包含多本书。每个book
都有一个author
。在Django查询集中,我想获得作者对所有贷款的描述。
所以使用get_related
,如果我这样做,我只会点击一次DB而不是多次:
loans = Loan.objects.filter(id=current_loan).get_related('consists_of_book')
如何将其扩展为author
外键?这个答案看起来不像我的正确答案:
loans = Loan.objects.filter(id=current_loan).get_related('consists_of_book').get_related('written_by_author')
答案 0 :(得分:1)
你必须使用双下划线表示法,如下所示:
loans = Loan.objects.filter(id=current_loan)
.prefetch_related('consists_of_book', 'consists_of_book__written_by_author')