如何通过Flask-SQLAlchemy中的id删除logging
我有我的MySql数据库中的users
表。 这张表有id
, name
和age
段。
我怎样才能通过id
删除一些logging?
现在我使用下面的代码:
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()
编辑:
确保提交delete()
生效。
只是想分享另一个select:
# 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()