我正在使用金字塔 1.4。我想从我的模型类中生成一些自定义 Pyramid 事件。事件是这样生成的:
request.registry.notify(MyCustomEventType("Here it comes"))
如您所见,我需要访问应用程序注册表。我知道get_current_registry()
功能。但我也担心 Pyramid 网站上的这条评论:
“这个功能应该非常谨慎地使用,通常只在单元测试代码中”
问题:
- 从数据层(SQLAlchemy 模型)生成 Pyramid 事件通常是个坏主意吗?
- 如果没有,如何更文明地访问应用注册中心?
Base
(也许是扩展模型?) - 如果是,是否有一些我可以使用的替代方案。我知道 SQLAlchemy 事件,但我找不到生成自定义事件的能力。
理由:
基本上,我将我的应用程序划分为功能,并尝试将它们解耦。为此,我有时需要 IoC:我正计划使用事件作为一种手段。例如,每当用户回答问题时,就会发出一个事件。然后,可以在应用程序的其他部分订阅这样的事件。我喜欢将应用程序逻辑保留在模型中而不是视图中。因此,所描述的问题。