¿Cómo elimino todas las filas en una sola tabla usando Flask-SQLAlchemy?
Buscando algo como esto:
>>> users = models.User.query.all()
>>> models.db.session.delete(users)
# but it errs out: UnmappedInstanceError: Class '__builtin__.list' is not mapped
python
sqlalchemy
flask-sqlalchemy
SeanPlusPlus
fuente
fuente

models.User.query().delete()Model.query.filter(Model.some_id == some_id, Model.other_id.in_(other_ids).delete()Flask-SQLAlchemy, intenteUser.query.delete()comoqueryobjeto ya que el objeto 'BaseQuery' no es invocable. Probado y verificado.La respuesta de DazWorrall es acertada. Aquí hay una variación que podría ser útil si su código está estructurado de manera diferente a los OP:
Además, no olvide que la eliminación no surtirá efecto hasta que se comprometa, como en este fragmento:
fuente
Frasco-Sqlalchemy
Eliminar todos los registros
Fila única eliminada
aquí DB es el objeto clase Flask-SQLAlchemy. Eliminará todos los registros y, si desea eliminar registros específicos, intente la
filtercláusula en la consulta. ex.Eliminar registro único por objeto
https://flask-sqlalchemy.palletsprojects.com/en/2.x/queries/#deleting-records
fuente