有没有一种方法可以使用.like
sqlalchemy函数返回所有内容?
我已经尝试过类似
session.query(Foo).filter(Foo.Bar.like('%'))
Run Code Online (Sandbox Code Playgroud)
但这仅返回Foo列中具有值的值。我想编写一个函数,其默认关键字参数值为'%'或通配符,以便可以根据需要过滤数据。
我看过的文档没有成功:( http://docs.sqlalchemy.org/en/rel_0_9/core/sqlelement.html#sqlalchemy.sql.operators.ColumnOperators.match
如果要返回所有数据,则根本不需要应用过滤器。使用if
语句有条件地应用过滤器:
def my_func(pattern=None):
query = session.query(Foo)
if pattern is not None:
query = query.filter(Foo.Bar.like(pattern))
return query
Run Code Online (Sandbox Code Playgroud)