Auf*_*ind 5 python database sqlalchemy generator
目前我以这种方式查询我的数据库:
for author in session.query(Author).filter(Author.queried==0).slice(0, 1000):
print "Processing:", author
# do stuff and commit later on
Run Code Online (Sandbox Code Playgroud)
这意味着每1000个作者我必须重新启动脚本.
是否有可能使脚本无限运行(或者只要有作者)?我的意思是,如果有可能转向
session.query(Author).filter(Author.queried==0).slice(0, 1000)
Run Code Online (Sandbox Code Playgroud)
进入某种生成器,产生下一个作者queried==0是真的.
由于查询被转换为等效的 SQL SELECT 语句,因此您将只能获取此事务启动时存在的查询为 0 的作者行集。对作者查询列的任何更新都不会更改当前的 SELECT 集。
如果您想继续处理所有作者行,即使有超过 1000 行,那么您可以这样做
for author in session.query(Author).filter(Author.queried==0):
print "Processing:", author
Run Code Online (Sandbox Code Playgroud)
__iter__Query 对象上的方法将自动调用,该方法将返回与调用 Query 对象相同的迭代器instances。
| 归档时间: |
|
| 查看次数: |
1423 次 |
| 最近记录: |