2010-08-03 5 views

Répondre

2

2 choses:

numéro un, vous ne devriez pas avoir à commit() après chaque changement. Vous devriez pouvoir:

for p in session.query (query): 
    p.someproperty = somevalue 
session.commit() 

et numéro deux, voir ce fil ici: Efficiently updating database using SQLAlchemy ORM. Cela donne un autre exemple de la syntaxe, et la réponse acceptée suggère également une façon plus efficace de réaliser cette mise à jour de masse.

1

Vous devez aller chercher les objets explicitement pour pouvoir les modifier; vous devez parcourir sur session.query(query_string).all(). Et, bien sûr, un seul commit après la fin de la boucle serait plus efficace.

Questions connexes