1
我正在使用SQLAlchemy 0.7.6。我使用的是别名列:sqlalchemy + sqlite剥离带点的列名?
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']
Works的postgres的。
下面是完整的测试代码:https://gist.github.com/2506388
我已经报道,在SQLAlchemy的名单,但是同时,我想知道是否有人遇到类似的问题,可能有一个解决方法。
简单的答案是不使用的列名点,但我敢肯定,你已经知道了;) 。 – weenoid 2012-04-27 08:33:46
奇怪>当我运行你的代码时,我有'SA-0.7.4',我确实得到了'键是:[u'foo.bar']'。 – van 2012-04-27 08:41:18
@van:是的,它有可能,因为它工作在0.7(请记住在2011年3月有0.6s的东西这个确切的问题) – Stiivi 2012-04-27 09:20:48