首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >大容量插入字典列表

大容量插入字典列表
EN

Stack Overflow用户
提问于 2018-10-17 03:36:51
回答 1查看 525关注 0票数 2

我将我的模型类定义如下:

代码语言:javascript
复制
class MedicalPlan(Base):
    __tablename__ = "medical_plans"

    id = Column(Integer, nullable=False , primary_key=True)
    issuer_id = Column(Integer, ForeignKey('issuers.id'), nullable=False)
    service_area_id = Column(Integer).... and so 

我使用下面的代码创建了一个会话,我使用它来执行大多数sql操作:

代码语言:javascript
复制
def get_session():
    engine = create_engine('postgresql+psycopg2://postgres:postgres@localhost/db')
    Session = sessionmaker(engine)
    return Session()

我有我想要作为批量插入插入的字典列表。

documentation中,我可以使用如下代码查看可以插入的位置:

代码语言:javascript
复制
connection.execute(table.insert(), [ 
        {'id':'12','name':'a','lang':'eng'},
        {'id':'13','name':'b','lang':'eng'},
        {'id':'14','name':'c','lang':'eng'},
    ]
)

我的问题是如何以我提供的映射方式使用我的模型类执行这样的操作。

像这样的东西不起作用:

代码语言:javascript
复制
conn.execute(MedicalPlans.insert(), list_of_dict)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-17 03:45:05

映射类的表应该是可用的

代码语言:javascript
复制
MyTable.__table__

因此,MedicalPlan.__table__.insert()应该可以工作。

在Ilja链接的问题中还有其他选择,但大多数都不是那么有效- bulk_insert_mappings会接近。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52842887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档