I configure a session (from elixir) using this code:
session = sqlalchemy.orm.scoped_session(
sqlalchemy.orm.sessionmaker(
autoflush=False,
autocommit=False
)
)
Is there any way to identify whether the transaction has already
begun to avoid exception?
--
Salam,
-Jaimy Azle
"Great new ideas usually come from very small teams...
don't give up so easily."
-- John Kaster
>> session = sqlalchemy.orm.scoped_session(
>> sqlalchemy.orm.sessionmaker(
>> autoflush=False,
>> autocommit=False
>> )
>> )
> session has an is_active flag which indicates this, but if you are
> using autocommit=False, the Session is always within a transaction and
> you should never call begin().
Thanks, but is_active flag could not be accessed from ScopedSession
instance since it is not listed on Session.public_methods. is there
any alternate way could be used?
>
> On Saturday, January 3, 2009, 12:04:54 AM, Michael Bayer wrote:
>
>>> session = sqlalchemy.orm.scoped_session(
>>> sqlalchemy.orm.sessionmaker(
>>> autoflush=False,
>>> autocommit=False
>>> )
>>> )
>
>> session has an is_active flag which indicates this, but if you are
>> using autocommit=False, the Session is always within a transaction
>> and
>> you should never call begin().
>
> Thanks, but is_active flag could not be accessed from ScopedSession
> instance since it is not listed on Session.public_methods. is there
> any alternate way could be used?
is_active is added to ScopedSession in the latest trunk. But you can
always get to any method on Session directly by just calling the
scoped session. scopedsession().is_active.