2012-01-13 53 views
0

本質上,我想檢查另一個對象,以查看是否在處理object.aq_chain中的項目之前設置了屬性。定製Zope對象的採購鏈的最佳方式是什麼?

重寫getattr和getattribute時,我似乎無法避免無限遞歸。

UPDATE

例子:

import ExtensionClass, Acquisition 

class Folder(ExtensionClass.Base): pass 

class File(Acquisition.Implicit): pass 

parent1 = Folder() 
parent1.foo = 1 
parent2 = Folder() 
parent2.foo = 2 

child = File() 
parent1.child = child 
child.otherparent = parent2 

print parent1.child.foo # prints 1, but i want it to print 2 

如果它不不說走,還有我試圖內工作的API。

+0

請您提供具體的例子。你總是可以使用特殊的屬性訪問方法,這種方法不會觸發獲取,但沒有具體的例子就很難說出任何東西。 – 2012-01-13 18:56:06

回答

相關問題