| 4328 | ).one() == (79,) |
| 4329 | |
| 4330 | def test_having(self): |
| 4331 | User, Address = self.classes.User, self.classes.Address |
| 4332 | |
| 4333 | sess = fixture_session() |
| 4334 | assert [User(name="ed", id=8)] == sess.query(User).order_by( |
| 4335 | User.id |
| 4336 | ).group_by(User).join(User.addresses).having( |
| 4337 | func.count(Address.id) > 2 |
| 4338 | ).all() |
| 4339 | |
| 4340 | assert [ |
| 4341 | User(name="jack", id=7), |
| 4342 | User(name="fred", id=9), |
| 4343 | ] == sess.query(User).order_by(User.id).group_by(User).join( |
| 4344 | User.addresses |
| 4345 | ).having( |
| 4346 | func.count(Address.id) < 2 |
| 4347 | ).all() |
| 4348 | |
| 4349 | |
| 4350 | class ExistsTest(QueryTest, AssertsCompiledSQL): |