2012-01-30 72 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