(self)
| 3181 | ) |
| 3182 | |
| 3183 | def test_join(self): |
| 3184 | users, Address, addresses, User = ( |
| 3185 | self.tables.users, |
| 3186 | self.classes.Address, |
| 3187 | self.tables.addresses, |
| 3188 | self.classes.User, |
| 3189 | ) |
| 3190 | |
| 3191 | self.mapper_registry.map_imperatively( |
| 3192 | User, users, properties={"addresses": relationship(Address)} |
| 3193 | ) |
| 3194 | self.mapper_registry.map_imperatively(Address, addresses) |
| 3195 | |
| 3196 | sel = users.select().where(users.c.id.in_([7, 8])) |
| 3197 | sess = fixture_session() |
| 3198 | |
| 3199 | ua = aliased(User, sel.subquery()) |
| 3200 | eq_( |
| 3201 | sess.query(ua) |
| 3202 | .join(ua.addresses) |
| 3203 | .add_entity(Address) |
| 3204 | .order_by(ua.id) |
| 3205 | .order_by(Address.id) |
| 3206 | .all(), |
| 3207 | [ |
| 3208 | ( |
| 3209 | User(name="jack", id=7), |
| 3210 | Address(user_id=7, email_address="jack@bean.com", id=1), |
| 3211 | ), |
| 3212 | ( |
| 3213 | User(name="ed", id=8), |
| 3214 | Address(user_id=8, email_address="ed@wood.com", id=2), |
| 3215 | ), |
| 3216 | ( |
| 3217 | User(name="ed", id=8), |
| 3218 | Address(user_id=8, email_address="ed@bettyboop.com", id=3), |
| 3219 | ), |
| 3220 | ( |
| 3221 | User(name="ed", id=8), |
| 3222 | Address(user_id=8, email_address="ed@lala.com", id=4), |
| 3223 | ), |
| 3224 | ], |
| 3225 | ) |
| 3226 | |
| 3227 | adalias = aliased(Address) |
| 3228 | ua = aliased(User, sel.subquery()) |
| 3229 | eq_( |
| 3230 | sess.query(ua) |
| 3231 | .join(ua.addresses.of_type(adalias)) |
| 3232 | .add_entity(adalias) |
| 3233 | .order_by(ua.id) |
| 3234 | .order_by(adalias.id) |
| 3235 | .all(), |
| 3236 | [ |
| 3237 | ( |
| 3238 | User(name="jack", id=7), |
| 3239 | Address(user_id=7, email_address="jack@bean.com", id=1), |
| 3240 | ), |
nothing calls this directly
no test coverage detected