在 Plone 中,容器对象的 ModificationDate 和生效日期确实返回了上次修改容器的时间,但不跟踪包含对象的修改时间。
我想知道是否有更好的方法,或者甚至是一些简单的内置方法来替代这种尴尬且可能非常慢的查询来确定容器内容被修改的日期 - 或者在下面的这种情况下 - 最后一次是'添加'。
def getFolderModificationDate(folderBrain, catalog):
"""Returns last time content was modified inside a folder"""
brains = catalog.search(query_request={ "path": folderBrain.getPath(),
"portal_type": 'Article',
'review_state':'published'},
sort_index = 'effective',
reverse=1,
limit=1)
if brains:
return brains[0].ModificationDate
else:
#return the folder's modificationDate
return folderBrain.ModificationDate
此日期将在非克隆应用程序的下游用作缓存文件夹内容的哈希值。