- 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 - Atomics事务
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)
还可以嵌套多个Atomics事务块。
with db.atomic() as txn1: User.create('name'='Amar', age=20) with db.atomic() as txn2: User.get(name='Amar')