diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2020-08-20 19:24:12 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@bbpush.zzzcomputing.com> | 2020-08-20 19:24:12 +0000 |
| commit | 9b6b867fe59d74c23edca782dcbba9af99b62817 (patch) | |
| tree | 3b5fa3a765ff2ade1b36e7b89b33623965f83541 /lib/sqlalchemy/orm | |
| parent | 544ef23cd36b0ea30a13c5158121ba5ea7573f03 (diff) | |
| parent | da4302a92de49a3819061ac21663266fc9890cf0 (diff) | |
| download | sqlalchemy-9b6b867fe59d74c23edca782dcbba9af99b62817.tar.gz | |
Merge "Raise UnmappedInstanceError if the attribute of a database object is an unmapped object."
Diffstat (limited to 'lib/sqlalchemy/orm')
| -rw-r--r-- | lib/sqlalchemy/orm/attributes.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/attributes.py b/lib/sqlalchemy/orm/attributes.py index 2e1b9dc75..07b147f10 100644 --- a/lib/sqlalchemy/orm/attributes.py +++ b/lib/sqlalchemy/orm/attributes.py @@ -353,7 +353,14 @@ class InstrumentedAttribute(QueryableAttribute): if self._supports_population and self.key in dict_: return dict_[self.key] else: - return self.impl.get(instance_state(instance), dict_) + try: + state = instance_state(instance) + except AttributeError as err: + util.raise_( + orm_exc.UnmappedInstanceError(instance), + replace_context=err, + ) + return self.impl.get(state, dict_) HasEntityNamespace = util.namedtuple( |
