gpt4 book ai didi

python - 使用 SQLAlchemy 将行从一个表批量移动到另一个表

转载 作者:太空狗 更新时间:2023-10-30 02:09:27 25 4
gpt4 key购买 nike

我有两个相同的表 postold_post。我有一个检查旧帖子的查询。我想将查询返回的行移动到表 old_post 中,并从表 post 中删除这些行。

我可以通过遍历初始查询返回的结果并以这种方式更新我的结果来解决这个问题,但是我担心这是非常低效的,并且当我有 1,000 多行时会开始给我带来问题。如何有效地将行从一个表“批量移动”到另一个表?

最佳答案

查询旧的帖子。使用旧的 Posts 数据批量插入 OldPosts。批量删除旧的帖子

keys = db.inspect(Post).columns.keys()
get_columns = lambda post: {key: getattr(post, key) for key in keys}

posts = Post.query.filter(Post.expiry > ts)
db.session.bulk_insert_mappings(OldPost, (get_columns(post) for post in posts))
posts.delete()
db.session.commit()

get_columns 函数接受一个 Post 实例并根据列键和值创建一个字典。阅读有关使用批量的文档和警告 insertdelete操作。

关于python - 使用 SQLAlchemy 将行从一个表批量移动到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36224686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com