def link(signal, sender, connection, **kwargs): """Whenever a connection is created, we link it to the Zope session, basically turning on transaction management at Django level and then joining in with the Zope one """ txn = manager.get() for dm in txn._resources: if isinstance(dm, DjangoDataManager) and \ dm.connection == connection: dm.django_t_begin() return dm = DjangoDataManager(manager, connection) txn.join(dm)
def __init__(self, transaction_manager=None, **kw): if transaction_manager is None: from transaction import manager as transaction_manager self.__dict__.update(kw, transaction_manager=transaction_manager) transaction_manager.get().join(self)