在 AppEngine 中执行查询时,您可以使用Query
orGqlQuery
对象从数据存储区中获取数据。我想知道这些对象是否缓存了它们的结果集,或者它们是否每次都获取数据。例如,如果您需要多次循环结果:
query = GqlQuery('SELECT * '
'FROM User '
'WHERE favorite_color = :1',
'pink')
for user in query:
# perform setup ...
# do some intermediary step ...
for user in query:
# final step ...
在循环中,查询对象自动调用.run()
并返回一个可迭代对象,但它是每次都访问实际数据库,还是缓存它,这意味着第二个for
循环将是一个更快的操作?