2009-07-21 24 views
0

假設我有這樣一個表:如何查詢一組對象並在SQLachemy/Elixir中返回一組對象特定屬性?

class Ticker(Entity): 
    ticker = Field(String(7)) 
    tsdata = OneToMany('TimeSeriesData') 
    staticdata = OneToMany('StaticData') 

我將如何查詢,以便它返回一組?

我深入研究文檔,看起來像select()是要走的路。但是我不太熟悉sqlalchemy語法。任何幫助表示讚賞。

ADDED:我的最終目標是擁有一組當前的股票,以便當新股票不在集合中時,它將被插入到數據庫中。我只是在學習如何創建一個數據庫和SQL。任何想法是讚賞。

謝謝。 :)

回答

0

不知道你究竟是什麼之後,但拿到所有「Ticker.ticker」值的數組你可以這樣做:

[instance.ticker for instance in Ticker.query.all()] 

你真正想要的可能是Elixir getting started tutorial - 這是很好的所以看看!

更新1:由於您有一個數據庫,找出是否需要插入新潛在股票的最佳方法是查詢數據庫。這比將所有代碼讀入內存並檢查要快得多。要查看是否有值,請嘗試以下操作:

Ticker.query.filter_by(ticker=new_ticker_value).first() 

如果結果爲無,您還沒有它。所以在一起,

if Ticker.query.filter_by(ticker=new_ticker_value).first() is None: 
    Ticker(ticker=new_ticker_value) 
    session.commit() 
+0

這實際上是我現在擁有的。我只是在想,如果有一種方法可以用靈丹妙藥而不是列表理解。如果存在,是否比列表理解更有效。 – leon 2009-07-21 02:32:40

相關問題