A circular eager relationship breaks the cycle with a lazy loader
(self)
| 937 | self.assert_sql_count(testing.db, go, 1) |
| 938 | |
| 939 | def test_cyclical(self): |
| 940 | """A circular eager relationship breaks the cycle with a lazy loader""" |
| 941 | |
| 942 | Address, addresses, users, User = ( |
| 943 | self.classes.Address, |
| 944 | self.tables.addresses, |
| 945 | self.tables.users, |
| 946 | self.classes.User, |
| 947 | ) |
| 948 | |
| 949 | self.mapper_registry.map_imperatively(Address, addresses) |
| 950 | self.mapper_registry.map_imperatively( |
| 951 | User, |
| 952 | users, |
| 953 | properties=dict( |
| 954 | addresses=relationship( |
| 955 | Address, |
| 956 | lazy="joined", |
| 957 | backref=sa.orm.backref("user", lazy="joined"), |
| 958 | order_by=Address.id, |
| 959 | ) |
| 960 | ), |
| 961 | ) |
| 962 | eq_(sa.orm.class_mapper(User).get_property("addresses").lazy, "joined") |
| 963 | eq_(sa.orm.class_mapper(Address).get_property("user").lazy, "joined") |
| 964 | |
| 965 | sess = fixture_session() |
| 966 | eq_( |
| 967 | self.static.user_address_result, |
| 968 | sess.query(User).order_by(User.id).all(), |
| 969 | ) |
| 970 | |
| 971 | def test_double_w_ac(self): |
| 972 | """Eager loading with two relationships simultaneously, |
nothing calls this directly
no test coverage detected