![](/img/trans.png)
[英]Zope.Schema/Plone - How can I set the value of a Datetime field in an updateWidget function?
[英]How can I tell if a field has changed value in an AT object in plone?
我在Plone中有一個AT內容類型。 它具有許多字段,包括文件字段。 用戶編輯此類型的對象時,如何確定是否上傳了新文件?
因此,我該如何判斷是否更改了任何字段?
我目前正在使用訂閱服務器來掛接IObjectEditedEvent,以在對象更改后執行一些操作-我可以在這里做這些事情嗎?
是的,當更改Archetypes內容對象時,將發出IObjectEditedEvent
( IObjectModifiedEvent
的直接子類)。
但是,活動本身不會告訴您是否上傳了新文件。 但是,應該可以獲取請求(例如,context.REQUEST應該通過獲取向您提供當前請求),然后查看是否存在與該字段匹配的文件對象。 如果是這樣,用戶將為該字段上載新文件,並且FileField
將已更新。
這是我綁定到IObjectEditedEvent的內容:
使用從子類化ATBlob創建的默認格式,實現(IATBlobFile,IATFile,IFileContent)
def editObjectEvent(context, event):
status = context.REQUEST.form.get('file_delete')
if status in ("nochange", NONE):
print "Don't do anything, no change to file."
else:
print "Do something, the file has changed"
我想知道form['file_delete']
可以具有其他值。 似乎很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.