目前,我查詢我的數據庫是這樣的:是否可以通過sqlalchemy查詢數據庫?
for author in session.query(Author).filter(Author.queried==0).slice(0, 1000):
print "Processing:", author
# do stuff and commit later on
這意味着每1000名作家我必須重新啓動腳本。
是否有可能使腳本無限運行(或只要有作者)?我的意思是說,如果有可能把
session.query(Author).filter(Author.queried==0).slice(0, 1000)
成某種發電機它產生接下來筆者對於這queried==0
是真的。
如果我沒有提交,如果我的腳本崩潰了,那麼每個東西都會丟失......所以最好用一個while循環包裝實際的腳本,只要有''query'0 「真的,對嗎? – Aufwind 2012-03-22 09:22:10
一個自然的提交地點就在你的循環完成之後。但是如果你有很多變化,那可能是一筆大交易,而且表現不佳。如果是這樣,原始問題陳述中的切片實際上可能會更好。這取決於你正在做什麼以及可能返回多少行。 – wberry 2012-03-22 16:47:09
作爲更新postgres支持監聽/通知事件api – morissette 2017-11-28 01:57:29