2
我想使用函数来确定在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 data').all()
现在,我希望Foo.foo_data == 'some data'
检查发生在一个函数...所以我们的查询看起来像:
session.query(Foo).filter(check_foo(Foo.foo_data)).all()
凡check_foo
样子:
def check_foo(foo_data):
if foo_data == 'foo':
return True
else:
return False
是这种类型的东西可能吗?显然,对于这个微不足道的案例来说,这是非常不必要的,但对于更复杂的案例来说,这将非常有用。