国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python - flask sqlalchemy signals 無法觸發

瀏覽:181日期:2022-08-18 11:01:22

問題描述

在我得藍圖當中我定義了 一個接受者

# -*- coding: utf-8 -*-from flask_sqlalchemy import models_committed# flag = True# if flag:def on_models_committed(sender, changes): print u’我是訂閱者,我要觸發任務’ for obj, change in changes:if change == ’insert’ and hasattr(obj, ’__commit_insert__’): obj.__commit_insert__()elif change == ’update’ and hasattr(obj, ’__commit_update__’): obj.__commit_update__()elif change == ’delete’ and hasattr(obj, ’__commit_delete__’): obj.__commit_delete__()models_committed.connect(on_models_committed)

然后哦在create_app 當中的__init__.py 導入了我藍圖中的這個方法

在models.py 中定義了__commit_update__()方法來執行處理邏輯

但是現在信號無法觸發,求問哪里出錯了?

問題解答

回答1:

問題解決方式db.session.query(ClassModel).filter( ClassModel.id == ids).delete()修改成db.session.query(ClassModel).filter( ClassModel.id == ids).first().delete()classModel(db.Model): .....def delete(self):db.session.delete(self)db.session.commit()

加上以上修改能夠正確的捕捉到信號的觸發了, 但是不知道原理是啥? query對象的刪除,和model對象的刪除的級別問題么, 內置信號是基于db 這一層級別的嗎?

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 根河市| 宾阳县| 墨江| 无棣县| 奎屯市| 新建县| 壶关县| 华池县| 江北区| 京山县| 县级市| 苗栗县| 千阳县| 重庆市| 肥城市| 廉江市| 甘孜县| 吴川市| 嘉黎县| 云梦县| 塔河县| 固安县| 中江县| 内丘县| 大埔区| 遵义县| 金沙县| 芦溪县| 霸州市| 博乐市| 武冈市| 闽清县| 黄浦区| 卢氏县| 左云县| 大安市| 陆丰市| 东方市| 响水县| 揭西县| 孙吴县|