私はストアドプロシージャをpostgresqlデータベースに持っています。sqlalchemyストアドプロシージャの実行結果の解析
私は、関数をPythonフラスコのアプリケーション内でsqlalchemyで使用しようとしています。そのクエリは次のようになります。
from sqlalchemy import func
appts = db.session.execute(func.getopenappointments(current_user.id))
for appt in appts:
# work with each appt
このクエリからの結果は型sqlalchemy.engine.result.ResultProxyの目的です。そのオブジェクトの各繰り返しは、次のようになります。
('(2,"2017-09-15 10:00:00",6,cleaning,available,5)',)
問題は、私のようなもので列を参照するために使用していますされています
for appt in appts:
print(appt.id)
しかし、これはIDに存在しないため失敗します。私が知っていることは、出力は、私が必要とする値を得るためにPython split()を解析する必要がある文字列です。どのように私はこれをストアドプロシージャを保持することができますが、列、または少なくともタプルではなく、通常の文字列で出力を参照することができる?
なぜこのようにフォーマットされたレコードですか? –
私はそれが重要な問題だと思います。レコードは、標準的なsqlalchemyの結果と予想される方法でフォーマットされていません。しかし、これは私がストアドプロシージャを実行した結果です。 – Casey
結果の各「フィールド」のデータ型を知っていますか。どのようなタイプの "クリーニング"と "利用可能"ですか?文字列? –