2013-09-21 214 views
0

我有一個那些日子。SQLAlchemy過濾器()返回值

我想檢查一個特定的行是否存在於我的數據庫中,如果存在,則返回True。 如果不是,則返回False。

一個簡單的例子:

contact_object = Contact.query.filter(Contact.user_id == user_id and Contact.contact_id == contact_id).first() 

這應該只返回1行(其它)。這是我想什麼:

if contact_object: 
    print "YEY, it was found" 
else: 
    print "Nope, not found" 

然而,contact_object總是返回True,我總是得到一個「YEY,發現」

(注意:user_idcontact_id是我以前定義的變量。 )

如何查找未找到的行與找到的行?我閱讀相關文件無濟於事......但我覺得我肯定錯過了一些簡單的東西?

感謝您的幫助。

+0

這當然是奇怪的是,第一個()會給你即使沒有一個真值被發現...但是你可能有興趣使用.one()來代替,它需要返回一個且只有一行。如果沒有發現,它會引發NoResultFound異常。 –

回答