データモデルから必要なものがありますが、何をする必要があるかまだわかりません。これを考えるのに役立つ情報が必要です。
まずは一般的なケース。私は4つのモデルA、B、C、Dを持っています。Aと残りの1対多の関係があります(AはB、C、Dの任意の数を持つことができます)。B、C、D には、後続のそれぞれに対して 1 対多があります (B は任意の数の C を持つことができます)。これにより、さまざまな階層の構築が可能になります。たとえば、A インスタンスは任意の数の B とそれぞれ任意の数の D を持つ任意の数の B を持つことができます。また、A インスタンスは任意の数の D 要素で構成され、B または C が介在しないようにすることもできます。
具体的な用語を使用すると、セクション、フィールド、および要素を持つことができる調査があります。調査は、各フィールドが多数の要素を持つ独自のフィールドを持つセクションで構成されているか、単純に多数の要素を持つ調査または要素のフィールドを持つ調査で構成されます。
したがって、私の主な質問は、介在する B または C がいくつでもある場合に、A に対して D をリストする方法についてです。介在するモデルを介してアクセスするにはどうすればよいですか? 関係が直接的でなくても、D 要素を取得する必要があります。A.Bs.Cs.Ds はデフォルトで sqlalchemy で有効なものではない (私が判断できる) ため、これを行うには「何か」を設定する必要がありますが、現時点ではこの「何か」が何であるかはわかりません.
編集:
リスト内包表記ができる
[x.Ds for x in A.Cs]
これは開始点として機能しますが、ケースバイケースです。介在する関係に関係なく、A に D を返すように設定したいと思います。
そして、必要に応じて D 要素を A に渡すことができる方法を各モデルに組み込んだので、今のところ解決しましたが、最適な解決策ではありません。