[解決済み] SqlAlchemy - リレーションシップ属性によるフィルタリング
2022-08-04 17:42:58
質問
SQLAlchemyの経験があまりないのですが、解決できない問題があります。検索して、たくさんのコードを試してみました。 これは私のクラスです(最も重要なコードに還元されます)。
class Patient(Base):
__tablename__ = 'patients'
id = Column(Integer, primary_key=True, nullable=False)
mother_id = Column(Integer, ForeignKey('patients.id'), index=True)
mother = relationship('Patient', primaryjoin='Patient.id==Patient.mother_id', remote_side='Patient.id', uselist=False)
phenoscore = Column(Float)
で、母親のフェノスコアが(例えば)以下の患者をすべて照会したいと思います。
== 10
このように、多くのコードを試してみましたが、うまくいきません。私の目には、論理的な解決策は、次のように映ります。
patients = Patient.query.filter(Patient.mother.phenoscore == 10)
にアクセスできるからです。
.mother.phenoscore
にアクセスできるのに、このコードではそれができないからです。
SQLステートメントや追加のジョインステートメントを書かずに)関係の属性によってフィルタリングする(直接的な)可能性はありますか?
たとえ簡単な解決策がないとしても、私はすべての答えを得ることに満足しています。
どのように解決するのですか?
使用方法
has()
の関係(より読みやすい)を使用します。
patients = Patient.query.filter(Patient.mother.has(phenoscore=10))
またはjoin(通常はより速い)。
patients = Patient.query.join(Patient.mother, aliased=True)\
.filter_by(phenoscore=10)
関連
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] SQLAlchemy ORDER BY DESCENDING?
-
[解決済み] SQLAlchemy: flush() と commit() の違いは何ですか?
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] Pythonの辞書にあるスレッドセーフについて
-
[解決済み] Django filter queryset __in for *every* item in list
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] Pythonによる一対のクロスプロダクト [重複] (英語)
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複