[Zope] AttributeError: LazyMap instance has no attribute
'_product'
Dieter Maurer
dieter at handshake.de
Mon Dec 4 13:37:18 EST 2006
Peter Bengtsson wrote at 2006-12-4 11:52 +0000:
> ...
>If I try to do it in code like this::
>
> def _uploadPhoto(self, file):
> adder = self.manage_addProduct['Photo'].manage_addPhoto
> adder('photo', '', file, **photo_settings)
>
>Then I get this error::
>
> ...
> File "/home/peterbe/zope/zope288/Products/Mest/ProductPhotoBase.py",
>line 122, in uploadPhoto
> self._addProductPhoto(photo_id, unicodify(comment).strip(), photofile)
> File "/home/peterbe/zope/zope288/Products/Mest/ProductPhotoBase.py",
>line 130, in _addProductPhoto
> photo_adder = self.manage_addProduct['Photo'].manage_addPhoto
> File
>"/home/peterbe/zope/zope288/lib/python/App/FactoryDispatcher.py", line
>26, in __getitem__
> return self.__bobo_traverse__(None, name)
> File
>"/home/peterbe/zope/zope288/lib/python/App/FactoryDispatcher.py", line
>29, in __bobo_traverse__
> product=self.aq_acquire('_getProducts')()._product(name)
>AttributeError: LazyMap instance has no attribute '_product'
Apparently, something at or above your "Collection" instance
defines a "_getProducts" -- as something to return a catalog search
result.
Now, "_getProducts" is assumed to be provided by the Zope application
object and not by any intermediate instance. As you see, Zope's
product accessing breaks when this requirement is violated.
Identify the "_getProducts" and rename it.
--
Dieter
More information about the Zope
mailing list