假设我有一个像这样的表:
class Ticker(Entity):
ticker = Field(String(7))
tsdata = OneToMany('TimeSeriesData')
staticdata = OneToMany('StaticData')
我如何查询它以便它返回一组Ticker.ticker
?
我深入研究了文档,似乎select()
是可行的方法。但是我对sqlalchemy语法不太熟悉。任何帮助表示赞赏。
ADDED:我的最终目标是拥有一组当前的自动收报机,当新的自动收报机不在套装中时,它将被插入到数据库中。我只是学习如何创建一个数据库和SQL。任何想法都表示赞赏。
感谢。 :)
答案 0 :(得分: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()