2015-07-01 48 views
2

我有一个代码:SQLAlchemy中删除()功能不起作用

engine = create_engine('mysql+pymysql://root:[email protected]/DBName') 
Session = sessionmaker(bind=engine) 
session = Session() 
session.query(Theatre).filter(Theatre.id == 1).delete(synchronize_session = False) 
session.expire_All() 

代码执行后,返回0和存在的数据库没有影响。该行不会被删除。通过命令提示符尝试测试。

同时一个简单的选择查询运行细粒

session.query(Theatre).all() 
+0

必须尝试在'.delete(...)'之后调用'session.commit()'? – van

回答

1

功能是

session.expire_all() 

all()用小写a。请参阅docs

0

也许您错过了commit

session.commit()