MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_join

Method test_join

test/orm/test_froms.py:3183–3254  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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 ),

Callers

nothing calls this directly

Calls 15

relationshipFunction · 0.90
fixture_sessionFunction · 0.90
aliasedFunction · 0.90
eq_Function · 0.90
map_imperativelyMethod · 0.80
add_entityMethod · 0.80
UserClass · 0.70
AddressClass · 0.70
whereMethod · 0.45
selectMethod · 0.45
in_Method · 0.45
subqueryMethod · 0.45

Tested by

no test coverage detected