def test_count(self): t1 = d.table(TestModel1) t2 = d.table(TestModel2) a = t1.project(d.count().label("total")).one() self.assertEqual(2, a.total) b = (t1 .leftjoin(t2, t2.m1_id == t1.id) .group(t1.a) .project(t1.a, d.count().label("count"))) for i in b.all(): self.assertEqual(3, i.count)
def test_postcount(self): user = d.table(BlogUser) post = d.table(BlogPost) q = (user .leftjoin(post, post.user_id == user.id) .group(user.username) .project(user.username, d.count(post.id).label("posts"))) counts = dict(q.all()) for i in range(10): self.assertEqual(i, counts["u%d" % i])