SQLAlchemy でクエリ結果を辞書として取得する
P粉187160883
P粉187160883 2023-10-20 13:59:52
0
2
768

私は Flask SQLAlchemy を使用しており、MySQL データベースから生の SQL クエリを介してデータベースからユーザーを取得する次のコードがあります。 リーリー

results 変数はタプルであり、dict() 型にしたいと考えています。これを達成する方法はありますか?

pymysql を使用してデータベース接続を構築すると、次のことが可能になります。 リーリー

SQLAlchemy にも同様のものはありますか?

注: この変更を加えたい理由は、コード内で pymysql の使用を取り除き、SQLAlcehmy 機能のみを使用するためです。つまり、コード内のどこにも「import pymysql」を入れたくないのです。

P粉187160883
P粉187160883

全員に返信(2)
P粉486743671

sqlalchemy カーソルとカーソルの説明を使用できます。

リーリー
いいねを押す +0
P粉421119778

SQLAlchemy 1.4 の更新された回答:

バージョン 1.4 では、古い engine.execute() モードが廃止され、.execute() の内部動作方法が変更されました。 .execute() は、.mappings () メソッドを使用して CursorResult オブジェクトを返すようになりました。 リーリー


(SQLAlchemy 1.3 の以前の回答)

raw_connection()

の代わりに engine.execute を使用する場合、SQLAlchemy がすでにこれを行っています。 engine.execute を使用すると、fetchone は SQLAlchemy Row オブジェクトを返し、fetchalllist ## を返します。 #行 オブジェクト。 Row オブジェクトには、dict: のようにキーによってアクセスできます。 リーリー 実際の dict

オブジェクトが必要な場合は、それを変換するだけです:

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート