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
是這種類型的東西可能嗎?顯然,對於這個微不足道的案例來說,這是非常不必要的,但對於更復雜的案例來說,這將非常有用。