久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python - flask sqlalchemy signals 無法觸發(fā)

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

問題描述

在我得藍圖當(dāng)中我定義了 一個接受者

# -*- coding: utf-8 -*-from flask_sqlalchemy import models_committed# flag = True# if flag:def on_models_committed(sender, changes): print u’我是訂閱者,我要觸發(fā)任務(wù)’ 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 當(dāng)中的__init__.py 導(dǎo)入了我藍圖中的這個方法

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

但是現(xiàn)在信號無法觸發(fā),求問哪里出錯了?

問題解答

回答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()

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 绥德县| 永济市| 贵德县| 台东县| 乐平市| 新源县| 任丘市| 唐海县| 万山特区| 太谷县| 阿图什市| 沾益县| 广东省| 右玉县| 资中县| 兰考县| 石家庄市| 中牟县| 嘉禾县| 望都县| 利辛县| 台山市| 家居| 闻喜县| 神池县| 德惠市| 商水县| 武陟县| 岱山县| 嘉鱼县| 盖州市| 江源县| 石泉县| 定日县| 江油市| 政和县| 紫云| 内乡县| 滦平县| 民权县| 论坛|