From beff0e1e132e8005611ed4d3f07955252a7e8d72 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 3 Oct 2006 16:47:14 +0000 Subject: - 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. --- lib/sqlalchemy/engine/base.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lib/sqlalchemy/engine') 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): -- cgit v1.2.1