Wie lösche ich mit Flask-SQLAlchemy alle Zeilen in einer einzelnen Tabelle?
Auf der Suche nach so etwas:
>>> 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
quelle
quelle
models.User.query().delete()
Model.query.filter(Model.some_id == some_id, Model.other_id.in_(other_ids).delete()
Flask-SQLAlchemy
versuchen Sie esUser.query.delete()
alsquery
Objekt, da das 'BaseQuery'-Objekt nicht aufrufbar ist. Getestet und verifiziert.DazWorralls Antwort ist genau richtig. Hier ist eine Variante, die nützlich sein kann, wenn Ihr Code anders strukturiert ist als die des OP:
Vergessen Sie auch nicht, dass das Löschen erst nach dem Festschreiben wirksam wird, wie in diesem Snippet:
quelle
Flask-Sqlalchemy
Alle Datensätze löschen
Einzelne Zeile gelöscht
Hier ist DB das Objekt Flask-SQLAlchemy-Klasse. Es werden alle Datensätze daraus gelöscht. Wenn Sie bestimmte Datensätze löschen möchten, versuchen Sie es mit einer
filter
Klausel in der Abfrage. Ex.Einzelnen Datensatz nach Objekt löschen
https://flask-sqlalchemy.palletsprojects.com/de/2.x/queries/#deleting-records
quelle