什么时候在SQLAlchemy中实际查询数据库?

时间:2016-04-07 18:25:29

标签: python sqlalchemy

我们假设你有这段代码:

products = session.query(Products)
query = products.filter(Products.productVendor == 'Classic Metal Creations')

for q in query:
    print q

何时查询数据库?在这里查询数据库的次数是多少次?

所以举个例子。当我们在filter()上执行products时,我们是否只是在原始查询的结果集上执行客户端操作?

1 个答案:

答案 0 :(得分:1)

当您遍历query,即行for q in query时,实际上会查询数据库。这包括在查询中调用all()first()scalar()等。 filter()只能生成性地修改查询以包含过滤器。