def delete(self): ''' Delete the persisted versions of this objects ''' if len(self) > 0: cls = self.__getitem__(0).__class__ if not hasattr(cls, 'getClassName'): raise Exception("Objects must extend BaseObject") obj_ids = map(lambda x: x.getId()) q = Query(cls) q.where_in("_id", obj_ids) q.delete()
def _get_related_array(self, related_cls_name, values, relation_name=ID_ALIAS): ''' Fetch an array of related objects related_cls_name: Name of the class that is referenced values: Reference values relation_name: Foreign parameter that is referenced ''' if not values: return None related_cls = _get_class_from_name(related_cls_name) q = Query(related_cls) q.where_in(relation_name, values) res = q.execute() if res and res.count() > 0: objs = list() for item in res: objs.append(related_cls.from_dict(item)) return objs