Flask-SQLAlchemy를 사용하여 단일 테이블의 모든 행을 삭제하려면 어떻게해야합니까?
다음과 같은 것을 찾고 있습니다.
>>> users = models.User.query.all()
>>> models.db.session.delete(users)
# but it errs out: UnmappedInstanceError: Class '__builtin__.list' is not mapped
Flask-SQLAlchemy를 사용하여 단일 테이블의 모든 행을 삭제하려면 어떻게해야합니까?
다음과 같은 것을 찾고 있습니다.
>>> users = models.User.query.all()
>>> models.db.session.delete(users)
# but it errs out: UnmappedInstanceError: Class '__builtin__.list' is not mapped
답변:
시도해보십시오 delete
:
models.User.query.delete()
에서 워드 프로세서 :Returns the number of rows deleted, excluding any cascades.
Model.query.filter(Model.some_id == some_id, Model.other_id.in_(other_ids).delete()
Flask-SQLAlchemy
시도하십시오 . 테스트 및 검증되었습니다. User.query.delete()
query
모든 기록 삭제
#for all records
db.session.query(Model).delete()
db.session.commit()
단일 행 삭제
여기서 DB는 개체 Flask-SQLAlchemy 클래스입니다. 모든 레코드를 삭제하고 특정 레코드를 삭제하려면 filter
쿼리에서 절 을 시도 하십시오. 전의.
#for specific value
db.session.query(Model).filter(Model.id==123).delete()
db.session.commit()
개체 별 단일 레코드 삭제
record_obj = db.session.query(Model).filter(Model.id==123).first()
db.session.delete(record_obj)
db.session.commit()
https://flask-sqlalchemy.palletsprojects.com/en/2.x/queries/#deleting-records
models.User.query().delete()