- 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 - 原子事务
Peewee 的数据库类具有 atomic() 方法,可创建上下文管理器。它启动一个新的事务。在上下文代码块中,可以提交或回滚事务,具体取决于事务是成功完成还是遇到异常。
with db.atomic() as transaction: try: User.create(name='Amar', age=20) transaction.commit() except DatabaseError: transaction.rollback()
atomic() 也可用作装饰器。
@db.atomic() def create_user(nm,n): return User.create(name=nm, age=n) create_user('Amar', 20)
多个原子事务代码块也可以嵌套。
with db.atomic() as txn1: User.create('name'='Amar', age=20) with db.atomic() as txn2: User.get(name='Amar')
广告