diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2018-02-06 15:51:03 -0500 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci.zzzcomputing.com> | 2018-02-06 15:51:03 -0500 |
| commit | 9acd76b571df05634b1144ce5490e362b23f8332 (patch) | |
| tree | a4ad1c926621dcb5af660d8d15b3752c6477b550 /lib/sqlalchemy/sql | |
| parent | 00570a6ac9453a48b06ca094de6e0502c3b73fa5 (diff) | |
| parent | 2826484206b9211062d6228afea3f5d25ddc6030 (diff) | |
| download | sqlalchemy-9acd76b571df05634b1144ce5490e362b23f8332.tar.gz | |
Merge "fix handling of native enum aliases in sqlalchemy enum columns"
Diffstat (limited to 'lib/sqlalchemy/sql')
| -rw-r--r-- | lib/sqlalchemy/sql/sqltypes.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/sqlalchemy/sql/sqltypes.py b/lib/sqlalchemy/sql/sqltypes.py index e11a59dac..ac915c73a 100644 --- a/lib/sqlalchemy/sql/sqltypes.py +++ b/lib/sqlalchemy/sql/sqltypes.py @@ -1352,15 +1352,18 @@ class Enum(Emulated, String, SchemaType): self.enums = list(values) self._valid_lookup = dict( - zip(objects, values) + zip(reversed(objects), reversed(values)) ) + self._object_lookup = dict( - (value, key) for key, value in self._valid_lookup.items() - ) - self._valid_lookup.update( - [(value, value) for value in self._valid_lookup.values()] + zip(values, objects) ) + self._valid_lookup.update([ + (value, self._valid_lookup[self._object_lookup[value]]) + for value in values + ]) + @property def native(self): return self.native_enum |
