如何在ZODB中访问数据

时间:2010-04-18 18:42:42

标签: plone

我有一个Plone站点,其中包含大量数据,我想查询数据库中的使用情况统计信息;即多少个包含1个以上条目的cals,每个组在给定日期后有多少个博客,等等。

我想从命令行运行脚本......就像这样:

bin / instance [script name]

我一直在谷歌搜索一段时间,但无法找到如何做到这一点。

此外,任何人都可以提供有关如何获取用户特定信息的帮助。最后登录的信息,创建的项目。

谢谢! 埃里克

1 个答案:

答案 0 :(得分:4)

通常,您可以通过搜索各种索引来查询portal_catalog以查找内容。有关目录的介绍,请参阅http://plone.org/documentation/manual/developer-manual/indexing-and-searching/querying-the-cataloghttp://docs.zope.org/zope2/zope2book/SearchingZCatalog.html

在某些情况下,内置索引将允许您执行所需的查询。在其他情况下,您可能需要编写一些Python来缩小执行初始目录查询后的结果。

如果将查询代码放在名为foo.py的文件中,可以通过以下方式运行:

bin/instance run foo.py

在foo.py中,您可以将数据库的根称为“app”。然后可以在app.site.portal_catalog找到该目录,其中“site”是您的Plone站点的ID。

通过单独的API(针对Pluggable Auth Service)查找有关用户的信息。我建议另外提一个问题。