반응형
Flask-SQLAlchemy에서 ID로 레코드를 삭제하는 방법
내가 가진 users
내 MySQL 데이터베이스에 테이블을. 이 표는이 id
, name
그리고 age
필드.
어떻게 일부 레코드를 삭제할 수 id
있습니까?
이제 다음 코드를 사용합니다.
user = User.query.get(id)
db.session.delete(user)
db.session.commit()
하지만 삭제 작업 전에 어떤 쿼리도 만들고 싶지 않습니다. 이렇게 할 수있는 방법이 있습니까? 를 사용할 수 db.engine.execute("delete from users where id=...")
있지만 delete()
방법 을 사용하고 싶습니다 .
할 수 있습니다.
User.query.filter_by(id=123).delete()
또는
User.query.filter(User.id == 123).delete()
에 있는지 확인 commit
을 위해 delete()
적용 할 수 있습니다.
다른 옵션을 공유하고 싶습니다.
# mark two objects to be deleted
session.delete(obj1)
session.delete(obj2)
# commit (or flush)
session.commit()
http://docs.sqlalchemy.org/en/latest/orm/session_basics.html#deleting
이 예에서는 다음 코드가 제대로 작동합니다.
obj = User.query.filter_by(id=123).one()
session.delete(obj)
session.commit()
특히 일괄 삭제를 원하는 경우 또 다른 가능한 솔루션
deleted_objects = User.__table__.delete().where(User.id.in_([1, 2, 3]))
session.execute(deleted_objects)
session.commit()
참고 URL : https://stackoverflow.com/questions/27158573/how-to-delete-a-record-by-id-in-flask-sqlalchemy
반응형
'Programing' 카테고리의 다른 글
ggplot2의 누적 막대 차트에 데이터 값 표시 (0) | 2020.08.23 |
---|---|
Python 파일에 바이트 쓰기 (0) | 2020.08.23 |
Pandas 데이터 프레임 목록을 함께 연결 (0) | 2020.08.23 |
WPF 명령 줄 (0) | 2020.08.23 |
브라우저의 뒤로 버튼 비활성화 (0) | 2020.08.23 |