我正在使用金字塔1.4。我想從我的模型類中生成一些自定義金字塔事件。事件如下產生:模型內部的金字塔事件
request.registry.notify(MyCustomEventType("Here it comes"))
正如你所看到的,我需要訪問應用程序註冊表。我知道get_current_registry()
函數。但我也擔心從金字塔網站此評論:
「這個功能應該非常謹慎使用,通常只在單元測試代碼」
問題:
- 是產生來自數據層的金字塔事件(SQLAlchemy模型)通常是一個壞主意?
- 如果不是,如何以更文明的方式訪問應用程序註冊表? (擴展
Base
模型也許?) - 如果是的,是否有一些替代我可以使用。我知道SQLAlchemy事件,但我找不到生成自定義事件的能力。
理由:
基本上,我分我的應用程序進入功能和我試圖讓他們分離。爲此,我有時需要IoC:我打算使用事件作爲其意思。例如,每當用戶回答問題時,就會發出一個事件。然後,這樣的事件可以在應用程序的另一部分中訂閱。我喜歡將應用程序邏輯保留在模型中而不是視圖中。因此,所描述的問題。
你能排序嗎?我正在努力想象一樣。 –
我沒有真正找到正確的方式來訪問註冊表。 – julkiewicz