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
この日付は、フォルダーのコンテンツをキャッシュするためのハッシュ値として、plone 以外のアプリケーションでダウンストリームで使用されます。