def test02_get_sorted_and_limit_query(self): ''' Test sorted queries and limits ''' q = Query("test") q.sort("param1", DESCENDING) q.limit(10) res = q.execute() self.assert_not_none(res) self.assert_equal(res.count(True), 10) for k in range(10): item = res[k] k2 = self.N - (k+1) self.assert_equal(item['param1'], k2) self.assert_equal(item['param2'], "value%d" % k2) self.assert_equal(item['param3'], (k2%2==0))
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