2015-09-30 13 views
2

有沒有辦法使用.like sqlalchemy函數來返回所有內容?像SQLAlchemy中的運算符默認爲通配符

我已經試過類似

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

但這僅返回那些在美孚的豎條值的值。我想編寫一個函數,該函數的默認關鍵字參數值爲'%'或通配符,以便可以根據需要使用它來過濾數據。

我看過的文檔沒有成功:(http://docs.sqlalchemy.org/en/rel_0_9/core/sqlelement.html#sqlalchemy.sql.operators.ColumnOperators.match

回答

3

你並不需要,如果你想返回所有的數據在所有應用過濾器使用if聲明應用過濾條件:

def my_func(pattern=None): 
    query = session.query(Foo) 

    if pattern is not None: 
     query = query.filter(Foo.Bar.like(pattern)) 

    return query 
+0

太容易了!忘記了你可以將查詢對象鏈接到多行。 – AZhao