如何判断字段是否更改了plone中AT对象的值?

2024-06-16 14:44:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Plone中有一个AT内容类型。它有许多字段,包括一个文件字段。当用户编辑此类型的对象时,如何判断是否上载了新文件?在

就这一点而言,我如何判断这些字段是否已更改?在

我目前正在使用订阅服务器钩住IObjectEditedEvent在对象更改后做一些事情-我可以在这里做这些事情吗?在


Tags: 文件对象用户服务器编辑类型内容plone
2条回答

以下是我与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']还有哪些其他值。似乎有用。在

是的,IObjectEditedEvent(一个IObjectModifiedEvent的直接子类)在原型内容对象被更改时发出。在

但是,事件本身不会告诉您是否上载了新文件。但是,应该可以获得请求(上下文.请求应该通过采集给你当前的请求,例如)看看是否有一个文件对象与字段匹配。如果是这样,用户为该字段上载了一个新文件,FileField将被更新。在

相关问题 更多 >