guillotina.transactions
¶
-
guillotina.transactions.
commit
(*, txn=None, warn=True)¶ Commit the current active transaction.
Parameters: txn ( Optional
[guillotina.db.interfaces.ITransaction]) – transaction to commitReturn type: None
-
guillotina.transactions.
abort
(*, txn=None)¶ Abort the current active transaction.
Parameters: txn ( Optional
[guillotina.db.interfaces.ITransaction]) – transaction to abortReturn type: None
-
guillotina.transactions.
get_tm
()¶ Return shared transaction manager (from request)
This is used together with “with” syntax for wrapping mutating code into a request owned transaction.
Example:
with get_tm().transaction() as txn: # begin transaction txn # do something # transaction txn commits or raises ConflictError
Return type: Optional
[guillotina.db.interfaces.ITransactionManager]
-
guillotina.transactions.
get_transaction
()¶ Return the current active transaction.
Return type: Optional
[guillotina.db.interfaces.ITransaction]
-
class
guillotina.transactions.
transaction
(*, db=None, tm=None, abort_when_done=False, adopt_parent_txn=False, execute_futures=True, read_only=False)¶ Execute a transaction as async context manager and automatically close connection after done.
>>> async with transaction() as txn: >>> pass
Parameters: - db – db to operate transaction on
- tm – transaction manager to retrieve transaction from
- abort_when_done – Abort transaction when done (defaults to false)
- adopt_parent_txn – If this is a sub-transaction, use parent’s registered objects
- execute_futures – Execute registered futures with transaction after done (defaults to true)
- read_only – Is this a read_only txn? (default to false)