私のクエリで左外部結合に関連する多くのテーブルを使用して、たとえばphpmyadminで期待できるタイプの基本的な配列としてクエリ結果を簡単に取得する方法があるかどうか疑問に思います(レイアウトを意味するものではありません)。
3 つのテーブルがあり、すべてのテーブルがマップされている場合、現在、最初のテーブルの結果のみをオブジェクトとして取得します。そこから、テーブル 2 の結果があるかどうかを行ごとにテストする必要があり、テーブル 3 についても同様です。
list_res_table1 = DBSession.query(table1).outerjoin(table2).outerjoin(table3).all()
for res_table1 in list_res_table1:
if res_table1.relationship_to_table2:
list_res_table2 = res_table1.relationship_to_table2
for res_table2 in list_res_table2:
if res_table2.relationship_to_table3:
etc.
次のように、直接アクセスできるオブジェクトのリストを取得すると便利です。
((table1, table2, None) #=> no result for table3
(table1, None, None) #=> no result for table2
(table1, table2, table3)) #=> results for all tables