使用sqlalchemy获取特定数据的列名称

时间:2015-04-10 01:18:14

标签: python sqlalchemy

我使用的是sqlalchemy 0.8,我只想获取输入的列名,而不是表中的所有列。

这是代码:

rec = raw_input("Enter keyword to search: ")
res = session.query(test.__table__).filter(test.fname == rec).first()

data = ','.join(map(str, res)) +","
print data

#saw this here @ SO but not the one I wanted. It displays all of the columns
columns = [m.key for m in data.columns]
print columns

1 个答案:

答案 0 :(得分:0)

您只需查询所需的列即可。就像你有一些模型MyModel 你可以这样做:

session.query(MyModel.wanted_column1, ...) ...  # rest of the query

这只会选择那里提到的所有列。

您可以使用select语法。

或者,如果您仍然希望返回模型对象并且未加载某些列,则可以使用deferred column loading