在Plone中,container对象的ModificationDate和effective date实际上返回上次修改容器的时间,但不跟踪所包含对象的修改时间。在
我想知道是否有一种更好的方法,或者甚至是一些简单的内置方法来代替这个笨拙且可能非常慢的查询来确定容器内容被修改的日期(在本例中是下面的)最后一次“添加”内容的时间。在
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
此日期将在非plone应用程序的下游用作缓存文件夹内容的哈希值。在
不,我就是这么做的。在
另一种方法是使用事件来更新父文件夹的修改日期,但这会产生冲突错误的风险。在
相关问题 更多 >
编程相关推荐