Python SqlAlchemy动态在哪里

Python SqlAlchemy动态在哪里,python,sqlalchemy,Python,Sqlalchemy,我想动态选择我正在查询的列,例如: metadata = MetaData(bind = engine) booking_table = Table("Bookings",metadata,autoload = True, schema = "SGM") select_meta = select([booking_table],booking_table.c.event_date==date_string) conn.execute(select_meta) 会变成这样 def dynamic

我想动态选择我正在查询的列,例如:

metadata = MetaData(bind = engine)
booking_table = Table("Bookings",metadata,autoload = True, schema = "SGM")
select_meta = select([booking_table],booking_table.c.event_date==date_string)
conn.execute(select_meta)
会变成这样

def dynamic_search(field,value):
    booking_table = Table("Bookings",metadata,autoload = True, schema = "SGM")
    select_meta = select([booking_table],booking_table.c.field==value)   #Here are the changes
    conn.execute(select_meta)

谢谢使用
get
方法,而不是按属性访问
表.c

>>> from sqlalchemy import MetaData, Table, Integer, Column, create_engine
>>> engine = create_engine('sqlite://')
>>> metadata = MetaData(bind=engine)
>>> table = Table("Bookings", metadata,
...     Column('id', Integer(), primary_key=True,),
...     Column('value', Integer(),),
... )
>>> field = 'value'
>>> table.c.get(field)
Column('value', Integer(), table=<Bookings>)
>>> table.c[field]
Column('value', Integer(), table=<Bookings>)
,但它是有效的

>>> field in table.c
True
>>> 'id' in table.c
True
>>> 'nothere' in table.c
False