¿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()
comoquery
objeto 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
filter
cláusula en la consulta. ex.Eliminar registro único por objeto
https://flask-sqlalchemy.palletsprojects.com/en/2.x/queries/#deleting-records
fuente