- Peewee 教程
- Peewee - 主页
- Peewee - 概览
- Peewee - 数据库类
- Peewee - 模型
- Peewee - 字段类
- Peewee - 插入新记录
- Peewee - 选择记录
- Peewee - 过滤器
- Peewee - 主键和复合键
- Peewee - 更新现有记录
- Peewee - 删除记录
- Peewee - 创建索引
- Peewee - 约束
- Peewee - 使用 MySQL
- Peewee - 使用 PostgreSQL
- Peewee - 动态定义数据库
- Peewee - 连接管理
- Peewee - 关系和联接
- Peewee - 子查询
- Peewee - 排序
- Peewee - 计数和聚合
- Peewee - SQL 函数
- Peewee - 检索行元组/字典
- Peewee - 用户定义运算符
- Peewee - 原子事务
- Peewee - 数据库错误
- Peewee - 查询生成器
- Peewee - 与 Web 框架集成
- Peewee - SQLite 扩展
- Peewee - PostgreSQL 和 MySQL 扩展
- Peewee - 使用 CockroachDB
- Peewee 有用资源
- Peewee - 快速指南
- Peewee - 有用资源
- Peewee - 讨论
Peewee - 更新现有记录
可以通过调用模型实例上的 **save()** 方法以及 **update()** 类方法来修改现有数据。
以下示例在 **get()** 方法的帮助下从 User 表中获取一行,并通过更改年龄字段的值对其进行更新。
row=User.get(User.name=="Amar") print ("name: {} age: {}".format(row.name, row.age)) row.age=25 row.save()
Method 类的 **update()** 方法生成 UPDATE 查询。然后调用查询对象的 execute() 方法。
以下示例使用 update() 方法更改年龄大于 20 的行的年龄列。
qry=User.update({User.age:25}).where(User.age>20) print (qry.sql()) qry.execute()
由 update() 方法呈现的 SQL 查询如下 −
('UPDATE "User" SET "age" = ? WHERE ("User"."age" > ?)', [25, 20])
Peewee 还有一个 **bulk_update()** 方法,用于帮助在单个查询操作中更新多个模型实例。该方法需要更新的模型对象和要更新的字段列表。
以下示例通过新值更新指定行的年龄字段。
rows=User.select() rows[0].age=25 rows[2].age=23 User.bulk_update([rows[0], rows[2]], fields=[User.age])
广告