Как получить доступ к данным в ZODB - PullRequest
1 голос
/ 18 апреля 2010

У меня есть сайт Plone, на котором много данных, и я хотел бы запросить в базе данных статистику использования; то есть сколько записей с более чем 1 записями, сколько блогов в группе с записями после определенной даты и т. д.

Я хочу запустить скрипт из командной строки ... примерно так:

bin / instance [имя скрипта]

Я уже некоторое время гуглю, но не могу понять, как это сделать.

Кроме того, кто-нибудь может предоставить некоторую помощь о том, как получить конкретную информацию для пользователя. Информация, как, последний вход в систему, созданные элементы.

Спасибо! Eric

1 Ответ

4 голосов
/ 19 апреля 2010

Как правило, вы можете запросить portal_catalog для поиска содержимого путем поиска по различным индексам. См. http://plone.org/documentation/manual/developer-manual/indexing-and-searching/querying-the-catalog и http://docs.zope.org/zope2/zope2book/SearchingZCatalog.html для ознакомления с каталогом.

В некоторых случаях встроенные индексы позволят вам выполнить нужный запрос. В других случаях вам может понадобиться написать немного Python, чтобы сузить результаты после выполнения первоначального запроса каталога.

Если вы поместите код запроса в файл с именем foo.py, вы можете запустить его с помощью:

bin/instance run foo.py

В файле foo.py вы можете ссылаться на корень базы данных как «приложение». Каталог будет найден по адресу app.site.portal_catalog, где site - это идентификатор вашего сайта Plone.

Поиск информации о пользователях происходит через отдельный API (для Pluggable Auth Service). Я бы предложил задать отдельный вопрос об этом.

...