python - 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')
当它们出现在我的网络应用程序中时,我肯定会将数据提交给我的模型,但打印消息什么也不做。有什么我想念的吗?
解决方案
推荐阅读
- azure - Azure DevOps – 到 Intranet TFS 2018 的管道:SSL_ERROR_SYSCALL
- mysql - SQL SELECT 多个表中的多个数据
- python - Python 并发期货 ProcessPoolExecutor 和全局变量:在 Linux 上工作,在 MacOS 上出错
- c# - 如何在 UWP 中使 CommandBar 指向下方
- winforms - 为什么组合框显示对象?
- python - 为什么我从这个 python 代码中得到一个错误?
- postgresql - 无法使用 aws_s3.query_export_to_s3 函数在 S3 中将 AWS RDS Postgres 表导出为 CSV
- python - 如何从熊猫系列中删除一个或多个字母 x?
- java - AmazonMQ/ActiveMQ Message RedeliveryPolicy MaximumRedeliveries Ignored
- c# - 如何通过触摸在屏幕上拖动手指来移动 3D 对象