首页 > 解决方案 > Flask-sqlalchemy 'Models_committed' 没有调用通过装饰器注册的函数

问题描述

我有一个名为 Signal 的模型(与“信号”无关),它是使用 SQLAlchemy 的 db.Model。

我正在尝试发送,然后在提交信号模型时接收信号。我只是想输出一个标准的打印消息,但我似乎无法让它工作。还尝试了装饰器方法。我找不到太多关于如何让信号在 Flask 上正常工作的信息?

__init__.py

from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy, models_committed, before_models_committed


def signal_thing(sender, changes, **kwargs):
    print('hello - is this working?')
    sender.print('hello - is this working')

models_committed.connect(signal_thing, app)
before_models_committed.connect(signal_thing, app)
@models_commited.connect(app)
def signal_thing(sender, changes, **kwargs):
    print('hello - is this working?')
    sender.print('hello this worked')

当它们出现在我的网络应用程序中时,我肯定会将数据提交给我的模型,但打印消息什么也不做。有什么我想念的吗?

标签: pythonflasksqlalchemyflask-sqlalchemy

解决方案


推荐阅读