Estoy usando SQLAlchemy en un proyecto que no es una aplicación web. Es una aplicación de servidor que carga una cantidad de objetos diferentes de la base de datos y los modifica localmente, pero no desea guardar esas actualizaciones en la base de datos cada vez que se emite una confirmación. Anteriormente estaba trabajando con Django ORM para algunos proyectos web y me pareció más adecuado para lo que estoy tratando de lograr. En Django ORM podía guardar cada objeto cuando quisiera sin guardar otras cosas que no quisiera guardar. Entiendo por qué funciona así en SQLAlchemy, pero me pregunto cómo podría hacerlo a la manera de Django.Deshabilitar el cambio de objeto de commit en SQLAlchemy
Actualización: Para que sea más fácil de entender lo que estoy tratando de lograr, y yo le proporcionaremos un ejemplo.
Ésta es la forma en que funciona realmente:
a = MyModel.query.get(1)
b = MyModel.query.get(1)
a.somefield = 1
b.somefield = 2
# this will save both of changed models
session.commit()
Así es como yo quiero que funcione:
a = MyModel.query.get(1)
b = MyModel.query.get(1)
a.somefield = 1
b.somefield = 2
a.save()
# I didn't want to save b, changes of b weren't committed
Quiero tener un mayor control de lo que realmente está guardado. Quiero guardar los cambios de cada objeto cada 5 minutos más o menos.
¿Has encontrado tu propia solución? Si tiene, por favor, comparta. –