summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/scoping.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-09-28 19:10:22 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-09-28 19:10:22 +0000
commit6122c3ad4802040a885f61ae97ecac03605057b4 (patch)
treecf8d1b8bd6098c07a50596d9c7c67e33cb6fc2a6 /lib/sqlalchemy/orm/scoping.py
parent5f75197e86059d7e4bbe20558c98011d89f9cfda (diff)
downloadsqlalchemy-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.py22
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()