Python sqlalchemy实例填充

Python sqlalchemy实例填充,python,database,sqlalchemy,Python,Database,Sqlalchemy,我想知道当我使用query.get或query.all这样的查询方法时,sqlalchemy模型实例何时填充了数据库内容 它是在这些方法调用中延迟加载的,还是在我迭代查询结果时完成了有效的数据库查询和实例填充?sqlalclemy有查询执行器:first(),get(),all()。。。所以,当您对查询对象调用这些方法时,它会从数据库中获取数据。在其中一个方法调用之后,您将获得数据。循环时,它会迭代已获取的数据 假设您有User类: query = session.query(User) #re

我想知道当我使用query.get或query.all这样的查询方法时,sqlalchemy模型实例何时填充了数据库内容


它是在这些方法调用中延迟加载的,还是在我迭代查询结果时完成了有效的数据库查询和实例填充?

sqlalclemy
有查询执行器:
first()
get()
all()
。。。所以,当您对查询对象调用这些方法时,它会从数据库中获取数据。在其中一个方法调用之后,您将获得数据。循环时,它会迭代已获取的数据

假设您有
User
类:

query = session.query(User) #returns query object
query = query.filter(name=='John') #specified query criteria 
user = query.first() #now your user instance populated
print(user.name) #John
users = query.all() #a list of User instance, populated
在最后一行中,现在您有了一个已填充的用户实例列表,可以按如下方式迭代该列表:

for user in users:
    print(user.name, user.id)