Python で HerokuアプリケーションのDB(Postgresql) に接続する実装の中、
結果が配列で取得されてしまいキー値が判別できないことがデバッグ上すごく面倒だった。
調べてみたら下記の解答がいい感じ
get_dict_resultset.py
#!/var/bin/python
import psycopg2
import psycopg2.extras
def get_dict_resultset(sql):
conn = psycopg2.connect("dbname=pem host=localhost user=postgres password=Drupal#1008")
cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
cur.execute (sql)
results = cur.fetchall()
dict_result = []
for row in results:
dict_result.append(dict(row))
return dict_result
sql = """select * from tablename"""
return get_dict_resultset(sql)
この関数を使えば割りと楽に dict 形式のSQL実行結果が取得できる。