2010-11-15 153 views
1

當我做的時候:問題查詢數據庫

channel = session.query(Channel).options(eagerload("items")).filter(Channel.title == title) 

我得到這個錯誤:

TypeError: 'bool' object is not callable 

如果我擺脫options(eagerload("items")),它的正常工作。

任何想法??

提前致謝!

+2

只是猜測,但你有一些'eagerload'變量的地方是布爾?這可能是它的直接原因。如果沒有,那麼從堆棧跟蹤和/或代碼中獲取更多信息將會有用。 – Wolph 2010-11-15 20:52:04

+0

是的,就是這樣,我剛剛意識到我在某些時候聲明瞭eagerload變量。謝謝! – bribon 2010-11-15 20:56:46

回答

0

SQLAlchemy過濾與運算符重載列對象一起使用。但是,您不是引用列對象,而是引用表的值屬性。因此,而不是

Channel.title == title 

這是一個 '布爾' 對象,需要

Channel.c.title == title 

這產生SLQAlchemy特定對象。