On Tue, 07 Nov 2000 11:54:57 +0000, Chris Withers <[EMAIL PROTECTED]>
wrote:

>I have a product class that subclasses SimpleItem and PropertyManager.
>
>If I try and add a property in __init__ as so:
>
>self.manage_addProperty('AProperty','1\n2\n3','lines')
>
>I get the following wonderful error:
>
>Error Type: AttributeError
>Error Value: aq_base
>
>I'm guessing that this is because self isn't an acquisition wrapper in
>__init__ (even though SimpleItem is Acquisition.Implicit) but what am I
>supposed to do to add a property in __init__?

__init__ has no idea of context, so its less useful in Zope than you
might usually expect.

Your object must have a factory method somewhere.... I suggest adding
an extra method to your object (I always name it '_after_create') and
arrange for it to be called by your factory once the new object is
installed in its container.

Toby Dickenson
[EMAIL PROTECTED]

_______________________________________________
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )

Reply via email to