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