Пример #1
0
 def objectValues(self):
     '''values'''
     if self.item_class:
         query = self.saSession.query(self.item_class)
         query = query.with_polymorphic('*')
         items = query.all()
         results = []
         for item in items:
             results.append(utils.wrapsetup(item, parent=self))
         return results
     else:
         return []
Пример #2
0
 def __getObjectFromSA__(self, path):
     #database access
     if self.item_class:
         key = IKeyIdSubobjectSupport(self).makeKeyFromId(path)
         query = self.saSession.query(self.item_class)
         query = query.with_polymorphic('*')
         # TODO subobject = query.get() maybe marginally
         # more efficient but does not work due to some
         # obscure sqlalchemy bug: when an object is in the session
         # and the scalar attributes are unloaded, the attribute
         # are not reloaded after a get...
         query = query.filter(self.item_class.key == key)
         subobject = query.first()
         if subobject is None:
             raise KeyError
     elif subobject is None:
         raise KeyError
     return utils.wrapsetup(subobject, parent=self)