使用django,我試圖從另一個QuerySet獲取FK關係的QuerySet。從給定的查詢集獲取FK集
也就是說,給定像這樣的關係: ParentTable (ParentID)
和 ChildTable(ChildID, ParentID
我有一個特定的查詢集 children = Child.objects.filter(**some_filters)
,我需要一個QuerySet爲Parent
對象 「引用」 的children
查詢集。
我最初的想法是隻使用,就像這樣: Parent.objects.filter(id__in=child.only('parent'))
,但檢查SQL查詢顯示,讓沿ParentID IN (SELECT subq.ChildID FROM ...
這顯然產生意外的結果行WHERE子句。 (唯一的方法檢查表明我這裏使用的是不正確,所以這種行爲是正常的)
ParentID IN (SELECT subq.ParentID FROM ...
'Parent.objects.filter(child__in =兒童)'似乎工作,但我不知道是什麼原因。 – DanielB