guillotina.transactions

guillotina.transactions.commit(request=None, warn=True)

Commit the current active transaction.

Parameters:request – request object transaction is connected to
guillotina.transactions.abort(request=None)

Abort the current active transaction.

Parameters:request – request object transaction is connected to
guillotina.transactions.get_tm(request=None)

Return shared transaction manager (from request)

This is used together with “with” syntax for wrapping mutating code into a request owned transaction.

Parameters:request – request owning the transaction

Example:

with get_tm(request).transaction() as txn:  # begin transaction txn

    # do something

# transaction txn commits or raises ConflictError
guillotina.transactions.get_transaction(request=None)

Return the current active transaction.

Parameters:request – request object transaction is connected to
class guillotina.transactions.managed_transaction(request=None, tm=None, write=False, abort_when_done=False, adopt_parent_txn=False, execute_futures=True)

Execute a transaction as async context manager and automatically close connection after done.

>>> async with managed_transaction() as txn:
>>>   pass
Parameters:
  • request – request object to connect transaction with
  • tm – transaction manager to retrieve transaction from
  • write – Does this write to database? (defaults to false)
  • 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)