我想从一个只有文本和数据库连接的查询中批量更新SQLAlchemy中的ORM表。我不容易(我相信)在ORM中反映源查询,因为它可能来自无限的表集。额外的问题是我想更新一个键值HSTORE列(postgres)。我想我可以一行一行地解决这个问题,但是我更喜欢从样式操作中进行批量更新。在
为了简单起见:
class Table(Base):
__tablename__= 'table'
id = Column(Integer, primary_key=True)
hstore = Column(MutableDict.as_mutable(HSTORE))
query_to_update_from = 'select id, attr1, attr2 from source_table where id between 1 and 100'
我想更新Table.hs存储在id匹配的地方使用{'attr1':attr1,'attr2':attr2}。我希望任何未命名为id
的列更新hstore。在
我知道我可以做session.execute('select id, attr1, attr2 from source_table where id between 1 and 100')
并很容易地获得列名和行数据的列表。我可以从中列出一个字典列表,但不知道如何在批量更新中使用它。在
我也尝试过在原始文本查询之外创建一个query().subquery,但是没有用,这是可以理解的,因为没有所需的结构。在
我在这一点上被难住了!在
目前没有回答
相关问题 更多 >
编程相关推荐