有没有办法使用.like
sqlalchemy函数返回所有内容?
我尝试过像
这样的东西session.query(Foo).filter(Foo.Bar.like('%'))
但是这只返回在Foo列中具有值的值。我想编写一个默认关键字参数值为'%'的函数或通配符,以便可以根据需要使用它来过滤数据。
我查看了文档但没有成功:(http://docs.sqlalchemy.org/en/rel_0_9/core/sqlelement.html#sqlalchemy.sql.operators.ColumnOperators.match
答案 0 :(得分:5)
如果要返回所有数据,则根本不需要应用过滤器。使用if
语句有条件地应用过滤器:
def my_func(pattern=None):
query = session.query(Foo)
if pattern is not None:
query = query.filter(Foo.Bar.like(pattern))
return query