def test_query_is_hashable(self): store = IterableStore([]) manager = store.query(TestModel) qs = manager.filter((TestModel.order > 1) & (TestModel.order < 12)) qs = qs.order_by(TestModel.a, ~TestModel.order) query = qs.query query.hints['aggregates'] = (aggregates.Sum('value'), ) a1 = query a2 = a1.clone() self.assertEqual(hash(a1), hash(a2))
def test_field_exists(self): families = [{ 'name': 'Community', 'postal_adress': 'Greendale', }, { 'name': 'Misfits', }] class Family(lifter.models.Model): pass manager = IterableStore(families).query(Family) self.assertEqual(manager.filter(Family.postal_adress.exists()), [families[0]]) self.assertEqual(manager.filter(~Family.postal_adress.exists()), [families[1]])
def setUp(self): self.cache = caches.DummyCache() PARENTS = [ TestModel(name='parent_1'), TestModel(name='parent_2'), ] OBJECTS = [ TestModel(name='test_1', order=2, a=1, parent=PARENTS[0], label='alabama', surname='Mister T'), TestModel(name='test_2', order=3, a=1, parent=PARENTS[0], label='arkansas', surname='Colonel'), TestModel(name='test_3', order=1, a=2, parent=PARENTS[1], label='texas', surname='Lincoln'), TestModel(name='test_4', order=4, a=2, parent=PARENTS[1], label='washington', surname='clint'), ] self.store = IterableStore(OBJECTS, identifier='test', cache=self.cache) self.manager = self.store.query(TestModel)
def test_model(self): manager = IterableStore(self.OBJECTS).query(TestModel) self.assertEqual(manager.filter(TestModel.a == 1), self.OBJECTS[:2])
def setUp(self): self.manager = IterableStore(self.OBJECTS).query(TestModel) self.dict_manager = IterableStore(self.DICTS).query(TestModel)
def setUp(self): class TestModel(lifter.models.Model): pass self.manager = IterableStore(self.OBJECTS).query(TestModel) self.dict_manager = IterableStore(self.DICTS).query(TestModel)
def exclude(self, *args, **kwargs): all_objects = self.all() store = IterableStore(all_objects) manager = store.query(self) return manager.exclude(*args, **kwargs)
def all(self): all_instances = [self.klass(eid=i.eid, **i) for i in self._table.all()] store = IterableStore(all_instances) manager = store.query(self) return manager.all()