如何通过Flask-SQLAlchemy中的id删除logging

我有我的MySql数据库中的users表。 这张表有idnameage段。

我怎样才能通过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()