SQLAlchemyの知識
- select
- stmt = select(SeriesModel) # SELECT * FROM series
- result = db.execute(stmt) # 実行
-
rows = result.scalars().all() # ORM オブジェクトのリストとして取得
-
単一レコードの取得
- 1件のみ取得
- result = db.execute(stmt).one() # 1件を想定。0件 or 複数件なら例外が返ってくる
- result = db.execute(stmt).one_or_none() # 1件を想定。0件ならNone。 複数件なら例外が返ってくる
- 複数レコードの取得
- result = db.execute(stmt).all() # 複数件 「0件はどうなる?」
-
where
- 等価比較
stmt = select(SeriesModel).where(SeriesModel.category == "steel")
-
複数条件 (AND)
python stmt = select(SeriesModel).where( SeriesModel.category == "steel", SeriesModel.tier == "A1", )