[Zope] AttributeError: LazyMap instance has no attribute '_product'

Peter Bengtsson peter at fry-it.com
Mon Dec 4 06:52:52 EST 2006


I have a Zope 2.8.8 for which I've developed a product that creates an 
object called Collection that is defined like this::

  class Collection(BTreeFolder2, CatalogAware):
      implements(ICollection)
      meta_type = COLLECTION_METATYPE
      def __init__(self, id, **other_stuff):
          apply(BTreeFolder2.__init__, (self, id), {})
          # set other_stuff

When in the ZMI, if I try to create an object (eg. Image) using the 
dropdown I get 404 with:
Cannot locate object at: 
http://localhost:8080/Site/collectionA/manage_addProduct/OFSP

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'


Any idea anyone?

PS. I've enpseudo coded the code a bit to explain the problem clearer.

-- 
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com


More information about the Zope mailing list