SqlAlchemyで.label(...)関数がどのように機能するのか混乱しています。このクエリを実行すると、クーポン、結果のクエリに償還として、私はorder.coupon_codeを見ますが、データのリターン行で、私は二つのことを得るsqlalchemyラベル
data = session.query(Coupon, func.isnull(Order.coupon_code).label("redeemed")) \
.outerjoin((Order, Order.coupon_code == Coupon.coupon_code)) \
.all()
:私はこのようなクエリの何かを持っています構造体、および '0'または '1')。 「0」または「1」を「0」または「1」の値を「償還」と命名された場合、私が望む何
[(Coupon:
coupon_id = 1234
etc
, 0),
... ]
は次のとおりです。次のようになります。このようなもの:
[(Coupon:
coupon_id = 1234
etc
,
redeemed = 0),
... ]
私には何のラベルがあるのか分かりません。誰かが私が考えているようにデータをどのように入手するかについてのヒントや方向性を持っていれば、大いに感謝しています!
おかげで、 ダグ
このような場合にはわかりませんが、tipのおかげで、column_propertyは非常に便利です。私はこのsession.query(Coupon、Order)のようにクエリの両方のオブジェクトからすべてを取得できますが、OrderからOrder.coupon_codeという1つのフィールドを取得する必要があります。 –