Bagaimana cara menghapus semua baris dalam satu tabel menggunakan Flask-SQLAlchemy?
Mencari sesuatu seperti ini:
>>> 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
sumber
sumber
models.User.query().delete()
Model.query.filter(Model.some_id == some_id, Model.other_id.in_(other_ids).delete()
Flask-SQLAlchemy
maka cobaUser.query.delete()
sebagaiquery
objek karena objek 'BaseQuery' tidak dapat dipanggil. Diuji dan diverifikasi.Jawaban DazWorrall tepat. Berikut adalah variasi yang mungkin berguna jika kode Anda memiliki struktur yang berbeda dari OP:
Selain itu, jangan lupa bahwa penghapusan tidak akan berlaku hingga Anda berkomitmen, seperti dalam cuplikan ini:
sumber
Flask-Sqlalchemy
Hapus Semua Rekaman
Baris Tunggal Dihapus
di sini DB adalah objek kelas Flask-SQLAlchemy. Ini akan menghapus semua catatan darinya dan jika Anda ingin menghapus catatan tertentu maka coba
filter
klausa dalam kueri. ex.Hapus Rekaman Tunggal berdasarkan Objek
https://flask-sqlalchemy.palletsprojects.com/en/2.x/queries/#deleting-records
sumber