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 に答える