code: def begin(self, *args, **kwargs):
          
          self._transaction = True
          try:
              begin = self._con.begin
          except AttributeError:
              pass
          else:
              begin(*args, **kwargs)
docs: Indicate the beginning of a transaction.
  
          During a transaction, connections won't be transparently
          replaced, and all errors will be raised to the application.
  
          If the underlying driver supports this method, it will be called
          with the given parameters (e.g. for distributed transactions).