diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-10-03 16:47:14 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-10-03 16:47:14 +0000 |
| commit | beff0e1e132e8005611ed4d3f07955252a7e8d72 (patch) | |
| tree | 7f1bef609120ec563d75b6f60e6c8216c8be1e4f /lib/sqlalchemy/engine | |
| parent | 7a2194e6c0c392ea50fb8b325acb27f8a98428f9 (diff) | |
| download | sqlalchemy-beff0e1e132e8005611ed4d3f07955252a7e8d72.tar.gz | |
- merged loader_strategies branch into trunk.
- this is a wide refactoring to "attribute loader" and "options" architectures.
ColumnProperty and PropertyLoader define their loading behaivor via switchable
"strategies", and MapperOptions no longer use mapper/property copying
in order to function; they are instead propigated via QueryContext
and SelectionContext objects at query/instnaces time.
All of the copying of mappers and properties that was used to handle
inheritance as well as options() has been removed and the structure
of mappers and properties is much simpler and more clearly laid out.
Diffstat (limited to 'lib/sqlalchemy/engine')
| -rw-r--r-- | lib/sqlalchemy/engine/base.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index de7f1899e..79a1909d1 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -587,7 +587,11 @@ class ResultProxy: try: rec = self.props[key.key.lower()] except KeyError: - rec = self.props[key.name.lower()] +# rec = self.props[key.name.lower()] + try: + rec = self.props[key.name.lower()] + except KeyError: + raise exceptions.NoSuchColumnError("Could not locate column in row for column '%s'" % str(key)) elif isinstance(key, str): rec = self.props[key.lower()] else: @@ -599,7 +603,7 @@ class ResultProxy: try: self._convert_key(key) return True - except KeyError: + except exceptions.NoSuchColumnError: return False def _get_col(self, row, key): |
