2015-07-01 52 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()