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