SQLAlchemy 0.7.6 を使用しています。列を次のようにエイリアシングしています:
column = table.c["name"].label("foo.bar")
また、SQLite は結果フィールドのエイリアスとして「bar」のみを使用します。そのための回避策はありますか?
コード例:
create_table("sqlite:////tmp/test.sqlite", schema)
engine = create_engine(url)
metadata = MetaData(engine, reflect=True)
table = Table("test_table", metadata, schema=schema, autoload=True)
column = table.c["name"].label("foo.bar")
cursor = sql.expression.select([column])
row = cursor.execute().fetchone()
print "keys are: %s" % (row.keys(), )
印刷します:
keys are: [u'bar']
それ以外の:
keys are: [u'foo.bar']
ポストグルで動作します。
ここに完全なテスト コードがあります: https://gist.github.com/2506388
私はすでに sqlalchemy リストにそのことを報告しましたが、それまでの間、他の誰かが同様の問題を経験しており、回避策があるかどうかを知りたいです。