代码之家  ›  专栏  ›  技术社区  ›  moshevi

使用外键大容量插入行并自动将行添加到引用表中

  •  0
  • moshevi  · 技术社区  · 7 年前

    我收到一个用户的股票符号和日期范围,以检索。 如果符号是新的,我希望它自动添加到符号表中。

    注意,如果符号确实存在,我需要以某种方式(自动或手动)检索符号id。

    [Price(time=datetime.datetime(2019, 8, 16, 3, 0), open=117.82), ...]
    

    我现在要做的是检查表中是否存在该符号,如果不使用此符号,则将其插入 function . 在获得id之后,我重新创建了列表,但这次使用的是stock symbol id。

    我看到的所有答案都涉及到每个价格都有一个ORM实例,我不想这么做,因为这将是不必要的时间浪费,因为我只是想大量插入它们。


    我使用的模型

    class Asset(Base):
    
        id = Column(Integer, primary_key=True)
        asset_symbol = Column(String)
    
    
    class RawBarsCollection(Base):
        info_datetime = Column(DateTime, primary_key=True)
        asset_id = Column(Integer, ForeignKey(Asset.id), primary_key=True)
        open_price = Column(Float)
    
        asset = relationship(Asset.__name__)
    
    0 回复  |  直到 7 年前