与SQLAlchemy中的Operator一样,默认为通配符



是否有方法使用.like sqlalchemy函数返回所有内容?

我已经试过了

session.query(Foo).filter(Foo.Bar.like('%'))

但是这只返回在Foo的列Bar中有值的值。我想写一个函数,它有一个默认的关键字参数值'%'或一个通配符,以便它可以用来过滤数据的需要。

我已经看了文档没有成功:(http://docs.sqlalchemy.org/en/rel_0_9/core/sqlelement.html#sqlalchemy.sql.operators.ColumnOperators.match

如果您想返回所有数据,则根本不需要应用filter。使用if语句有条件地应用过滤器:

def my_func(pattern=None):
    query = session.query(Foo)
    if pattern is not None:
        query = query.filter(Foo.Bar.like(pattern))
    return query

最新更新