Python 如何在SQLachemy/Elixir中查询一组对象并返回一组特定于对象的属性?

Python 如何在SQLachemy/Elixir中查询一组对象并返回一组特定于对象的属性?,python,sql,sqlalchemy,Python,Sql,Sqlalchemy,假设我有一张像这样的桌子: class Ticker(Entity): ticker = Field(String(7)) tsdata = OneToMany('TimeSeriesData') staticdata = OneToMany('StaticData') 我如何查询它,使其返回一组Ticker.Ticker 我深入研究了文档,似乎select()才是解决问题的方法。但是,我对sqlalchemy语法不太熟悉。感谢您的帮助 补充:我的最终目标是拥有一套当前

假设我有一张像这样的桌子:

class Ticker(Entity):
    ticker = Field(String(7))
    tsdata = OneToMany('TimeSeriesData')
    staticdata = OneToMany('StaticData')
我如何查询它,使其返回一组
Ticker.Ticker

我深入研究了文档,似乎
select()
才是解决问题的方法。但是,我对sqlalchemy语法不太熟悉。感谢您的帮助

补充:我的最终目标是拥有一套当前的ticker,这样,当新的ticker不在其中时,它将被插入到数据库中。我只是在学习如何创建数据库和sql。任何想法都值得赞赏


谢谢。:)

不确定您到底想要什么,但要获得包含所有“Ticker.Ticker”值的数组,您可以执行以下操作:

[instance.ticker for instance in Ticker.query.all()]
你真正想要的可能是-它很好,所以看一看

更新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()

这就是我现在所拥有的。我只是在想,是否有一种方法可以用长生不老药代替列表理解。如果有,它是否比列表理解更有效。我认为第二行是我需要使用的。非常感谢。当我找到正确的解决方案时,stackoverflow的惯例是什么?如果您对答案满意,请单击其左侧的复选标记图标以接受它。:)