我很困惑SlabAlchemy中.label(...)函數是如何工作的。我有一個查詢是這樣的:sqlalchemy標籤
data = session.query(Coupon, func.isnull(Order.coupon_code).label("redeemed")) \
.outerjoin((Order, Order.coupon_code == Coupon.coupon_code)) \
.all()
當此查詢運行時,我看到的贖回中產生的查詢order.coupon_code,但在數據的返回行,我得到兩件事情,優惠券結構,以及「0」或「1」)。看起來是這樣的:
[(Coupon:
coupon_id = 1234
etc
, 0),
... ]
我想如果是「0」或「1」被命名爲「贖回」與「0」或「1」的值。就像這樣:
[(Coupon:
coupon_id = 1234
etc
,
redeemed = 0),
... ]
我想我不明白標籤爲我做了什麼,如果有的話。如果有人對我如何以我想的方式獲取數據有一些提示或指導,將不勝感激!
感謝, 道格
感謝您的提示,column_property看起來非常有用,雖然我不確定它是如此在這種情況下。我可以從查詢中的兩個對象中獲取所有內容,例如session.query(Coupon,Order),但我只需要從Order獲取一個字段Order.coupon_code。 – 2012-03-05 20:53:45