diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-09-28 19:10:22 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-09-28 19:10:22 +0000 |
commit | 6122c3ad4802040a885f61ae97ecac03605057b4 (patch) | |
tree | cf8d1b8bd6098c07a50596d9c7c67e33cb6fc2a6 /lib/sqlalchemy/orm/scoping.py | |
parent | 5f75197e86059d7e4bbe20558c98011d89f9cfda (diff) | |
download | sqlalchemy-6122c3ad4802040a885f61ae97ecac03605057b4.tar.gz |
- session.execute() will execute a Sequence object passed to
it (regression from 0.4).
- Removed the "raiseerror" keyword argument from object_mapper()
and class_mapper(). These functions raise in all cases
if the given class/instance is not mapped.
- Refined ExtensionCarrier to be itself a dict, removed
'methods' accessor
- moved identity_key tests to test/orm/utils.py
- some docstrings
Diffstat (limited to 'lib/sqlalchemy/orm/scoping.py')
-rw-r--r-- | lib/sqlalchemy/orm/scoping.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/lib/sqlalchemy/orm/scoping.py b/lib/sqlalchemy/orm/scoping.py index 6ea28148d..6e33be96b 100644 --- a/lib/sqlalchemy/orm/scoping.py +++ b/lib/sqlalchemy/orm/scoping.py @@ -7,8 +7,9 @@ import sqlalchemy.exceptions as sa_exc from sqlalchemy.util import ScopedRegistry, to_list, get_cls_kwargs from sqlalchemy.orm import ( - EXT_CONTINUE, MapperExtension, class_mapper, object_session, + EXT_CONTINUE, MapperExtension, class_mapper, object_session ) +from sqlalchemy.orm import exc as orm_exc from sqlalchemy.orm.session import Session @@ -102,15 +103,16 @@ class ScopedSession(object): """ class query(object): def __get__(s, instance, owner): - mapper = class_mapper(owner, raiseerror=False) - if mapper: - if query_cls: - # custom query class - return query_cls(mapper, session=self.registry()) - else: - # session's configured query class - return self.registry().query(mapper) - else: + try: + mapper = class_mapper(owner) + if mapper: + if query_cls: + # custom query class + return query_cls(mapper, session=self.registry()) + else: + # session's configured query class + return self.registry().query(mapper) + except orm_exc.UnmappedClassError: return None return query() |