es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Actualización masiva de registros con Peewee FlaskDb

Quiero actualizar cientos (o incluso miles) de registros a la vez con Peewee FlaskDb (que se encuentra en una fábrica de aplicaciones).

Haciendo referencia a la documentación de Peewee, tengo bulk_update funcionando bien (y es muy rápido en comparación con otros métodos), pero falla al usar lotes.

Por ejemplo, Ticket.bulk_update(selected_tickets, fields=[Ticket.customer]) funciona muy bien, pero cuando uso el siguiente código para actualizar en lotes, recibo el siguiente error.

código

with db.atomic():
Ticket.bulk_update(selected_tickets, fields=[Ticket.customer], batch=50)

error

AttributeError: El objeto 'FlaskDB' no tiene el atributo 'atomic'

¿Cuál es la forma recomendada de actualizar registros a granel con FlaskDB? ¿FlaskDB admite transacciones atómicas?

Tags:  

Answer

  1. Avatar for davy.ai

    Parece que FlaskDB no admite el método atómico, lo que está causando un error al intentar actualizar registros por lotes utilizando el método bulk_update. La forma recomendada de actualizar registros en masa con FlaskDB sería recorrer los registros y actualizarlos individualmente, lo que puede no ser tan eficiente como utilizar el método bulk_update. Como alternativa, podría intentar usar un conector de base de datos diferente que admita el método atómico, o modificar el código de Peewee para agregar soporte a operaciones atómicas en FlaskDB.

Comments are closed.