1
我需要在以下情況下一些幫助:我需要爲了實現自定義事件/訂戶能夠得到一個對象的上下文中開始和它的版本結束了,因爲我需要在兩個上下文中比較對象的某些字段的狀態。
有沒有辦法做到這一點?是否有可能在所有編輯過程中都處於活動/執行狀態的處理程序(它正在開始並整合更改)?也許使用線程?
在此先感謝您的幫助!
我需要在以下情況下一些幫助:我需要爲了實現自定義事件/訂戶能夠得到一個對象的上下文中開始和它的版本結束了,因爲我需要在兩個上下文中比較對象的某些字段的狀態。
有沒有辦法做到這一點?是否有可能在所有編輯過程中都處於活動/執行狀態的處理程序(它正在開始並整合更改)?也許使用線程?
在此先感謝您的幫助!
考慮重寫你的編輯形式,以得到你想要的,而不是試圖在這裏使用的用戶是什麼 - 這可能看起來像:
from plone.dexterity.browser.edit import DefaultEditForm as BaseForm
class ComparisonEditForm(BaseForm):
def update(self, *args, **kwargs):
existing_value = self.context.mykey
BaseForm.update(self, *args, **kwargs)
updated_value = self.context.mykey
if existing_value != updated_value:
pass # DO SOMETHING HERE
然後在ZCML什麼的註冊覆蓋。 YMMV,我沒有嘗試過,但我認爲總體思路應該起作用。
感謝您的快速回答,我會嘗試並在此發佈反饋,以便可能幫助其他人。 – maccinza