1

我正经历着这样的一天。

我想检查我的数据库中是否存在特定行,如果存在,则返回 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,我总是得到一个“是的,找到了”

(注意user_idcontact_id是我之前定义的变量。)

如何检查未找到的行与找到的行?我阅读了相关文档无济于事......但我觉得我肯定错过了一些简单的东西?

谢谢你的帮助。

4

1 回答 1

2

我不相信你可以and在 SQL Alchemy 的过滤器表达式中使用这种方式:

http://docs.sqlalchemy.org/en/rel_0_8/orm/tutorial.html#common-filter-operators

contact_object = Contact.query \
    .filter(Contact.user_id == user_id) \
    .filter(Contact.contact_id == contact_id) \
    .first()
于 2013-09-21T23:45:48.580 回答