python - SqlAlchemy:動的クエリ

python database orm sqlalchemy

SqlAlchemy ORMで動的クエリを作成する方法(正しい名前の場合)。

SqlAlchemyをデータベースの抽象化として使用し、Pythonコードのクエリを使用しましたが、これらのクエリを動的に生成する必要がある場合は、「id」のようなクエリのパラメーターを設定するだけではありませんか?

たとえば、 "organization"、 "people"、 "staff"のような3つのテーブルをリンクするクエリ(テーブル名、列名、結合列)を生成する必要があります。どうすれば適切に実行できますか?

たとえば、私はこのリストを意味しました:
[{'table': 'organization'、 'column': 'staff_id'}、
{'table': 'staff'、 'column': 'id'}]

そして、例えば出力には以下が含まれます:
organisation.id、organization.name、organization.staff_id、staff.id、staff.name
(名前の列は出力にのみ表示されます。これは、簡単な例が必要であり、テーブルのすべての列を受け取り、配列は結合を設定する必要があるためです)
答え
mappersqlalchemy.sql.joinの呼び出しの結果にsqlalchemy.selectを使用できます。これは、データベースビューでmapperを使用するのとほぼ同じです。そのようなクラスに対して自然にクエリを実行できますが、必ずしも新しいレコードを作成する必要はありません。 sqlalchemy.orm.column_propertyを使用して、計算された値をオブジェクト属性にマップすることもできます。私があなたの質問を読んでいるとき、これらの3つのテクニックの組み合わせはあなたのニーズを満たすはずです。
関連記事

python - vplineとvlinesをmatplotlibのピクセル全体にスナップする

javascript - 良い例/テンプレート/ベストプラクティスAPIドキュメント

python - Django:より複雑な一意性制約?

python - Pythonでデータストアを適切にクエリする方法は? -基本的な問題

python - djangoを使用してFacebookのメールを取得する

python - Pythonがサブプロセスと通信する

python - ソラリス上のpython numpy、遅い、またはリンクされていませんか?

python - Google App EngineのSSLError(ローカル開発サーバー)

python - Django:STATIC_URLはappnameをURLに追加します

python - flickAPI:ユーザーアカウントのセットを一覧表示するにはどうすればよいですか?