superValues will only work after you have _setObject'ed your new object. There is normally no acquisition context available during __init__. Your factory method should look something like this: ob = MyClass('foo') self._setObject('foo', ob) self._getOb('foo').edit() HTH, Stefan --On Freitag, 07. März 2003 20:12 +0100 Steffen Hausmann <steffen@hausmann-family.de> wrote:
Im trying to send an E-Mail within an external python script each time an object is edited. Therefor I use superValues to locate the MailHost object.
mailhost=getattr(self, self.superValues('Mail Host')[0].id)
If the object that sends the mail already exists anything goes fine.
But if the object is edited for the first time (via the __init__ procedure that calls the edit procedure) superValues can't find the MailHost object (IndexError: list index out of range).
-- Those who write software only for pay should go hurt some other field. /Erik Naggum/