2015-09-08 13 views
5

Ho un database MySQL con qualche migliaio di post del forum + testo. Mi piacerebbe prenderli in batch, diciamo 1000 alla volta, e fare cose a loro in python3.Seleziona batch di file sqlalchemy mysql

La mia domanda singolo post si presenta come:

pquery = session.query(Post).\ 
    filter(Post.post_id.like(post_id)) 

Come posso cambiare questo in modo che dato un post_id, restituisce quel post ed i 999 posti dopo di esso?

risposta

5

Usa limit e offset:

pquery = session.query(Post).filter(Post.post_id.like(post_id)).limit(1000).offset(the_offset_val) 
+1

Inoltre, v'è un 'slice (da, a)' opzione http://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy .orm.query.Query.slice – alisianoi