我正在使用 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']
适用于 postgres。
这是完整的测试代码:https ://gist.github.com/2506388
我已经向 sqlalchemy 列表报告了这一点,但是同时我想知道是否有其他人遇到类似的问题并且可能有解决方法。