Python SQLAlchemy:使用函数确定查询返回的结果

Python SQLAlchemy:使用函数确定查询返回的结果,python,sqlite,sqlalchemy,Python,Sqlite,Sqlalchemy,我想使用一个函数来确定在SQLAlchemy查询中选择哪些行。这是设置 我们有一个基本的SQLAlchemy映射对象: class Foo(base): foo_id = Column(Integer, primary_key=True) foo_data = Column(String(255)) 现在,如果我们想用foo_data的特定值查询所有表行,我们可以执行以下操作: session.query(Foo).filter(Foo.foo_data == 'some da

我想使用一个函数来确定在SQLAlchemy查询中选择哪些行。这是设置

我们有一个基本的SQLAlchemy映射对象:

class Foo(base):
    foo_id = Column(Integer, primary_key=True)
    foo_data = Column(String(255))
现在,如果我们想用
foo_data
的特定值查询所有表行,我们可以执行以下操作:

session.query(Foo).filter(Foo.foo_data == 'some data').all()
现在,我希望在函数中执行
Foo.Foo_data=='some data'
检查。。。因此,我们的查询如下所示:

session.query(Foo).filter(check_foo(Foo.foo_data)).all()
def check_foo(foo_data):
    if foo_data == 'foo':
        return True
    else:
        return False
其中
check\u foo
如下所示:

session.query(Foo).filter(check_foo(Foo.foo_data)).all()
def check_foo(foo_data):
    if foo_data == 'foo':
        return True
    else:
        return False
这类事情可能吗?显然,对于这个简单的情况,这确实是不必要的,但对于更复杂的情况,这将非常有用。

您可以使用