[英]Select based on column name list in sqlalchemy
給定一個列名列表,例如:
cols = ['a', 'b', 'c']
我想構建一個 sqlalchemy ORM 查詢,它相當於:
q = db.query(Foo.a, Foo.b, Foo.c)
當然,我可以只使用查詢:
q = db.query(Foo)
...,將每個結果行轉換為字典,並使用上面的列名列表作為鍵從中提取值。 我寧願不這樣做,因為我只需要一張大表中的幾列,我想避免開銷。
總是有同樣的故事:數小時絞盡腦汁,放棄,問了一個問題,幾分鍾后找到了解決方案:
colspec = [ Foo.__dict__[k] for k in cols ]
q = db.query(*colspec)
q = db.query(*[getattr(Foo, attr) for attr in cols])
來自 Abdou 它最好的解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.