Я смущен, как функция .label (...) работает в SqlAlchemy. У меня есть что-то вроде этого запроса:sqlalchemy label
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),
... ]
Я думаю, я не понимаю, что делает для меня метка, если что-нибудь. Если у кого-то есть какие-то намеки или указания о том, как я могу получить данные так, как я думаю, это было бы очень полезно!
Спасибо, Doug
Спасибо за подсказку, column_property выглядит очень полезным, хотя я не уверен, что это так в этом случае. Я мог бы просто получить все от обоих объектов в запросе, таких как session.query (Купон, Заказ), но мне действительно нужно получить одно поле Order.coupon_code из Order. –