2012-01-30 66 views
1

我正在寻找通过SqlAlchemy检索整数值列表。假设我有一个名为Element的模型(和表),它具有id属性。我试图找出一个办法让没有任何客户端处理IDS的一个列表..检索标识列表

目前,我有这样的:

mylist = [o.id for o in session.query(Element).all()]

我已经能够得到使用session.query(Element.id)的元组列表,但这不正是我所期待的,因为它返回[(1,),(2,)],我正在寻找[1,2,3]

回答

2

这可能会实现,如果这是你的输出:

mylist = map(lambda element: element.id[0], session.query(Element).all()) 
+0

是的,这很可能给我,我要找(同上我的代码)..我只是想知道,如果有结果一种方法来做到*无需*通过在SQLAlchemy查询中本地执行复制列表。我知道我可以使用生成器发布查询遍历列表,但是讨厌写非DRY代码;) – 2012-01-30 22:08:49

+2

这是一个生成器版本:(v [0] for Element.query.values(Element.id)) – 2012-01-30 22:14:12

+0

@alexvasi:我只是在玩'lambda's:P我从来没有遇到过这个问题,所以我不明白为什么SQLAlchemy不合作。 – Blender 2012-01-30 22:18:28