0

假设我有一个像这样的表:

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

我将如何查询它以使其返回一组Ticker.ticker

我深入研究文档,似乎select()是要走的路。但是我对 sqlalchemy 语法不太熟悉。任何帮助表示赞赏。

添加:我的最终目标是拥有一组当前代码,这样,当新代码不在集合中时,它将被插入到数据库中。我只是在学习如何创建数据库和一般的 sql。任何想法都值得赞赏。

谢谢。:)

4

1 回答 1

0

不确定您到底在追求什么,但要获得一个包含所有“Ticker.ticker”值的数组,您可以这样做:

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

您真正想要的可能是Elixir 入门教程- 很好,所以看看吧!

更新 1:由于您有一个数据库,因此确定是否需要插入新的潜在代码的最佳方法是查询数据库。这比将所有代码读入内存并检查要快得多。要查看是否存在值,请尝试以下操作:

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

如果结果是 None 你还没有它。所以大家一起,

if Ticker.query.filter_by(ticker=new_ticker_value).first() is None:
    Ticker(ticker=new_ticker_value)
    session.commit()
于 2009-07-21T02:27:32.900 回答