(self)
| 4376 | eq_(r.cascade, CascadeOptions(expected)) |
| 4377 | |
| 4378 | def test_expunge_cascade(self): |
| 4379 | User, Order, orders, users = ( |
| 4380 | self.classes.User, |
| 4381 | self.classes.Order, |
| 4382 | self.tables.orders, |
| 4383 | self.tables.users, |
| 4384 | ) |
| 4385 | |
| 4386 | self.mapper_registry.map_imperatively(Order, orders) |
| 4387 | self.mapper_registry.map_imperatively( |
| 4388 | User, |
| 4389 | users, |
| 4390 | properties={ |
| 4391 | "orders": relationship( |
| 4392 | Order, |
| 4393 | primaryjoin=( |
| 4394 | self.tables.users.c.id |
| 4395 | == foreign(self.tables.orders.c.user_id) |
| 4396 | ), |
| 4397 | cascade="expunge", |
| 4398 | viewonly=True, |
| 4399 | ) |
| 4400 | }, |
| 4401 | ) |
| 4402 | |
| 4403 | sess = fixture_session() |
| 4404 | u = User(id=1, name="jack") |
| 4405 | sess.add(u) |
| 4406 | sess.add_all( |
| 4407 | [ |
| 4408 | Order(id=1, user_id=1, description="someorder"), |
| 4409 | Order(id=2, user_id=1, description="someotherorder"), |
| 4410 | ] |
| 4411 | ) |
| 4412 | sess.commit() |
| 4413 | |
| 4414 | u1 = sess.query(User).first() |
| 4415 | orders = u1.orders |
| 4416 | eq_(len(orders), 2) |
| 4417 | |
| 4418 | in_(orders[0], sess) |
| 4419 | in_(orders[1], sess) |
| 4420 | |
| 4421 | sess.expunge(u1) |
| 4422 | |
| 4423 | not_in(orders[0], sess) |
| 4424 | not_in(orders[1], sess) |
| 4425 | |
| 4426 | def test_default_none_cascade(self): |
| 4427 | User, Order, orders, users = ( |
nothing calls this directly
no test coverage detected