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')
廣告
© . All rights reserved.