哈希/缓存值的包含对象的Plone容器修改日期

2024-04-29 15:29:40 发布

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

在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应用程序的下游用作缓存文件夹内容的哈希值。在


Tags: 对象方法内容datereturncontainerplone时间