diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-08-17 21:55:00 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-08-17 21:55:00 +0000 |
| commit | 9b6a9b7aeab79ba28737f394fa6cfaaf1f1f1bcf (patch) | |
| tree | 83505f572e626cb8985aa6a79943eea465692196 /lib | |
| parent | dd9d9bd9be50fd5e64da43cbfeb088593baee103 (diff) | |
| download | sqlalchemy-9b6a9b7aeab79ba28737f394fa6cfaaf1f1f1bcf.tar.gz | |
temporary check for unmapped class, until [ticket:1142] is resolved
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sqlalchemy/orm/properties.py | 4 | ||||
| -rw-r--r-- | lib/sqlalchemy/orm/util.py | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index 4056c2ff9..ebe61b19e 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -530,7 +530,9 @@ class PropertyLoader(StrategizedProperty): self.mapper = mapper.class_mapper(self.argument(), compile=False) else: raise sa_exc.ArgumentError("relation '%s' expects a class or a mapper argument (received: %s)" % (self.key, type(self.argument))) - assert isinstance(self.mapper, mapper.Mapper), self.mapper + + # TODO: an informative assertion ? + assert isinstance(self.mapper, mapper.Mapper) # accept callables for other attributes which may require deferred initialization for attr in ('order_by', 'primaryjoin', 'secondaryjoin', 'secondary', '_foreign_keys', 'remote_side'): diff --git a/lib/sqlalchemy/orm/util.py b/lib/sqlalchemy/orm/util.py index 928b38fd3..4915d930d 100644 --- a/lib/sqlalchemy/orm/util.py +++ b/lib/sqlalchemy/orm/util.py @@ -464,6 +464,11 @@ def class_mapper(class_, compile=True, raiseerror=True): try: class_manager = attributes.manager_of_class(class_) mapper = class_manager.mapper + + # HACK until [ticket:1142] is complete + if mapper is None: + raise exc.NO_STATE + except exc.NO_STATE: if not raiseerror: return |
