[Sqlalchemy-tickets] Issue #4236: Got an error when query an object have enum (zzzeek/sqlalchemy)
Brought to you by:
zzzeek
From: XKVNN <iss...@bi...> - 2018-04-12 11:28:30
|
New issue 4236: Got an error when query an object have enum https://bitbucket.org/zzzeek/sqlalchemy/issues/4236/got-an-error-when-query-an-object-have XKVNN: I tried to use the code in the documentation: ``` #!python import enum Base = declarative_base() class MyEnum(enum.Enum): one = 1 two = 2 three = 3 t = Table( 'data', Base.metadata, Column('value', Enum(MyEnum)) ) Base.metadata.drop_all(engine_fb, checkfirst=True) Base.metadata.create_all(engine_fb, checkfirst=True) connection = engine_fb.connect() connection.execute(t.insert(), {"value": MyEnum.two}) ``` All working fine and data inserted into db ``` #!log 2018-04-12 18:25:32,654 INFO sqlalchemy.engine.base.Engine CREATE TABLE data ( value ENUM('one','two','three') ) 2018-04-12 18:25:32,655 INFO sqlalchemy.engine.base.Engine () 2018-04-12 18:25:32,673 INFO sqlalchemy.engine.base.Engine COMMIT 2018-04-12 18:25:32,673 INFO sqlalchemy.engine.base.Engine INSERT INTO data (value) VALUES (%s) 2018-04-12 18:25:32,674 INFO sqlalchemy.engine.base.Engine ('two',) 2018-04-12 18:25:32,675 INFO sqlalchemy.engine.base.Engine COMMIT ``` But when execute a query to get an object, I got an error: ``` #!python LookupError: "b'two'" is not among the defined enum values ``` |