我有我需要從我的數據模型,但我不知道我需要做什麼呢。我需要一些意見來幫助我思考。sqlalchemy/sql:跨模型的關係,從'堂兄'模型獲取信息
首先是一般情況。我有四個模型A,B,C,D。其餘的A有一對多關係(A可以有任意數量的B,C,D)。 B,C,D每個成功都有一對多(B可以有任意數量的C等)。這允許構建各種層次結構, G。 A實例可以具有任意數量的B,每個B具有任何數量的C,每個具有任意數量的D或A實例可以僅由任意數量的D元素構建,並且不包括中間的B或C.
使用具體術語I有調查,可以有部分,領域和元素。一項調查可能由各個領域的部分構成,每個領域都有許多要素,或者簡單地說是一系列要素的調查或者要素領域的調查。
所以,我的主要問題是關於如何爲A列表D當有任何數量的介入B或C.如何通過介入模型進行訪問?即使關係不是直接的,我也需要獲得D元素。 A.Bs.Cs.Ds在sqlalchemy中默認情況下不是一個有效的東西(我可以確定),所以我需要設置'某些'來做到這一點,但我不知道這個'東西'是什麼。
編輯:
我可以做一個列表理解
[x.Ds for x in A.Cs]
其中工程作爲開始,但通過個案。無論干預的關係如何,我都希望將它設置爲在A上返回Ds。
而且我在每個模型中都建立了一個方法,可以在需要時將D元素傳遞給A,所以我現在已經解決了它,但不是最佳解決方案。