ホームページ  >  に質問  >  本文

SQLAlchemy でクエリ結果を辞書として取得する

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

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

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

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

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

P粉187160883P粉187160883364日前719

全員に返信(2)返信します

  • P粉486743671

    P粉4867436712023-10-21 12:22:22

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

    リーリー

    返事
    0
  • P粉421119778

    P粉4211197782023-10-21 00:09:40

    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 ## を返します。 #行 オブジェクト。 < /code>Row オブジェクトには、dict: のようにキーによってアクセスできます。 リーリー 実際の dict

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

    リーリー

    返事
    0
  • キャンセル返事