from sqlalchemy import and_ words = ['%三%', '%猫%'] rule = and_(*[table.u_name.like(w) for w in words]) table.query.filter(rule) DBSession().query(user).filter(user.u_name.like('%三%')).filter(user.u_name.like('%猫%')) # 或者 and_() DBSession().query(user).filter(and_(user.u_name.like('%三%'), user.u_name.like('%猫%')))