2014-05-12 21 views
1

我有一個ICatalogTool和我可以使用AdvancedQuery查詢的目錄,並且我想學習如何使用這個工具,該查詢可以用來查找該目錄中的某些內容。Zope AdvancedQuery ICatalogTool

我有該工具的使用的一個示例:

results = ICatalogTool(dc).search(query=Eq('id', self._object.ip)) 

# Eq - is an "EQUALS" in AdvancedQuery 
# dc - instance of DeviceList class 
# self._object.ip - some IP for search 

我已閱讀一個文檔,發現類似方程的每個功能需要一些索引。所以我想知道除了'id'以外的其他索引是否在我的目錄中。如何尋找?有沒有一些內省的工具?

回答

1

查看索引選項卡中的Zope管理界面。否則,可以通過調用目錄對象的indexes()方法以編程方式列出索引名稱。

恕我直言,在嘗試使用AdvancedQuery附加組件之前,您應該熟悉基本查詢接口(使用指定爲映射的查詢調用searchResults()方法)。

+0

我試圖找到這些索引,但沒有結果。你能幫我找索引嗎? 我的意思是,你能否給我一段能找到索引的代碼? –

+0

我已經爲您提供了您已經能夠獲取的對象的方法名稱。否則,在zope.org和plone.org上有很多文檔,在這種情況下是精細的手冊:http://docs.zope.org/zope2/zope2book/SearchingZCatalog.html – sdupton