How to delete a record by id in Flask-SQLAlchemy

后端 未结 3 1343
我寻月下人不归
我寻月下人不归 2020-12-04 09:41

I have users table in my MySql database. This table has id, name and age fields.

How can I delete some record by

相关标签:
3条回答
  • 2020-12-04 10:25

    You can do this,

    User.query.filter_by(id=123).delete()
    

    or

    User.query.filter(User.id == 123).delete()
    

    Make sure to commit for delete() to take effect.

    0 讨论(0)
  • 2020-12-04 10:26

    Another possible solution specially if you want batch delete

    deleted_objects = User.__table__.delete().where(User.id.in_([1, 2, 3]))
    session.execute(deleted_objects)
    session.commit()
    
    0 讨论(0)
  • 2020-12-04 10:28

    Just want to share another option:

    # 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

    In this example, the following codes shall works fine:

    obj = User.query.filter_by(id=123).one()
    session.delete(obj)
    session.commit()
    
    0 讨论(0)
提交回复
热议问题