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