SQLAlchemy 批量更新 字典散列更新
程序员文章站
2024-03-21 21:48:10
...
现在有个业务需求需要批量更新某些字段 批量更新
db.session.bulk_update_mappings(
Card, # 当前映射类
[*max_obj] # 列表里套的是字典打散
)
db.session.commit()
注意点 批量更新要的是ID字段 需要注意ID填写
使用需求
class Card(BaseModel):
__tablename__ = "Card"
bank_location = db.Column(db.String(50), comment="")
iccid = db.Column(db.String(50), comment="卡的iccid")
比如上面的这映射关系
在批量更新的时候我只想链接一次数据库 而不是找到一个条件更新一个
在于操作xlsx表格 读取里面的数据 然后批量更新与数据库和表格存在的数据。
正常来说的话 可能我也比较笨 我的思路就是数据库 找到一个与表格对应的 就更新一次
那这样的话只能for 循环里面嵌套查找数据库是否与他相同然后进行更新 所以就是 for一次 链接一次 而我想的就是一次性更新
使用方式
用 zip 封装成字典
{
"bank_location":"123",
"iccid":"123",
"id":"123"
}
我先循环一下 xlsx 表格其中一列与数据库那个对应 查询一次数据库然后拿出来 拿出来之后 在想办法将数据库这条字段的ID 对应到要更新的字段里进行更新