私は Flask SQLAlchemy を使用しており、MySQL データベースから生の SQL クエリを介してデータベースからユーザーを取得する次のコードがあります。 リーリー
results変数はタプルであり、dict() 型にしたいと考えています。これを達成する方法はありますか?
SQLAlchemy にも同様のものはありますか?
注: この変更を加えたい理由は、コード内で pymysql の使用を取り除き、SQLAlcehmy 機能のみを使用するためです。つまり、コード内のどこにも「import pymysql」を入れたくないのです。
sqlalchemy カーソルとカーソルの説明を使用できます。
SQLAlchemy 1.4 の更新された回答:
バージョン 1.4 では、古い
engine.execute()
モードが廃止され、.execute()
の内部動作方法が変更されました。.execute()
は、.mappings ()メソッドを使用してCursorResultオブジェクトを返すようになりました。 リーリー(SQLAlchemy 1.3 の以前の回答)
raw_connection()の代わりに
オブジェクトが必要な場合は、それを変換するだけです:engine.execute
を使用する場合、SQLAlchemy がすでにこれを行っています。engine.execute
を使用すると、fetchone
は SQLAlchemyRow
オブジェクトを返し、fetchall
はlist
## を返します。 #行オブジェクト。 Row
オブジェクトには、
dict:
のようにキーによってアクセスできます。 リーリー実際の
dictリーリー