2015-11-10 28 views
1

這是模型SQLAlchemy的,column_property收集

class Trade(Base): 
    __tablename__ = 'trade' 
    *** 
    original_price = Column(FLOAT) 
    left_volume = Column(FLOAT) 
    result_right_volume = Column(FLOAT) 
    original_right_volume = column_property(original_price * left_volume) 
    all_prices = Bundle(None,original_price, result_right_volume, exec_price, original_right_volume) 

然後我想在查詢

Trade.query(...., Trade.app_prices) 

也不orm.Bundle使用它,也不orm.composite不工作,column_property。 動機 - 是的,我可以列出查詢中的所有字段,但我有很多疑問,爲了方便起見,請使用這種方式。試圖使用ClauseList和ColumnsList,沒有達到成功。謝謝。

回答

1

好吧,我可以寫這樣對付它:

class Trade(Base): 
    __tablename__ = 'trade' 
    *** 
    original_price = Column(FLOAT) 
    left_volume = Column(FLOAT) 
    result_right_volume = Column(FLOAT) 
    original_right_volume = column_property(original_price * left_volume) 
Trade.all_prices = Bundle(None, Trade.original_price, Trade.result_right_volume, Trade.exec_price, Trade.original_right_volume) 

貌似問題是SQLAlchemy的「神奇」和他們的元類。列屬性在處理包時未準備好。