1. 程式人生 > >flask sqlalchemy刪資料報錯Object '' is already attached to session '1' (this is '3')

flask sqlalchemy刪資料報錯Object '' is already attached to session '1' (this is '3')

sqlalchemy.exc.InvalidRequestError

sqlalchemy.exc.InvalidRequestError: Object '<Mydata at 0x720d710>' is already attached to session '1' (this is '3')

結論:

兩個不同的db交叉混用導致問題,根據報錯也可看出,要操作的物件已經隸屬於會話1,
 而現在這個請求已經是會話2了。

原因:

之前我在自己負責的模組中設定了一個個人使用的db,用於自己模組的執行和測試;
 後來leader在伺服器程式碼的根下面建立了一個新的db,然後修改了我部分程式碼,使它們使用新的db
; 然後我自己除錯自己程式碼時,就報了上述錯誤; 原因是我有部分程式碼還是使用原先的db,與新的db會話發生衝突;

解決方案:

1、一旦檢視函式內涉及db.session的操縱,在函式內進行 from models import db即正常。