diff options
Diffstat (limited to 'lib/sqlalchemy/orm/relationships.py')
| -rw-r--r-- | lib/sqlalchemy/orm/relationships.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/sqlalchemy/orm/relationships.py b/lib/sqlalchemy/orm/relationships.py index 41c3a5e53..1a0140914 100644 --- a/lib/sqlalchemy/orm/relationships.py +++ b/lib/sqlalchemy/orm/relationships.py @@ -1658,11 +1658,8 @@ class RelationshipProperty(StrategizedProperty): return _orm_annotate(self.__negated_contains_or_equals(other)) @util.memoized_property - @util.preload_module("sqlalchemy.orm.mapper") def property(self): - mapperlib = util.preloaded.orm_mapper - if mapperlib.Mapper._new_mappers: - mapperlib.Mapper._configure_all() + self.prop.parent._check_configure() return self.prop def _with_parent(self, instance, alias_secondary=True, from_entity=None): @@ -2130,9 +2127,9 @@ class RelationshipProperty(StrategizedProperty): return self.entity.mapper def do_init(self): - self._check_conflicts() self._process_dependent_arguments() + self._setup_registry_dependencies() self._setup_join_conditions() self._check_cascade_settings(self._cascade) self._post_init() @@ -2141,6 +2138,11 @@ class RelationshipProperty(StrategizedProperty): super(RelationshipProperty, self).do_init() self._lazy_strategy = self._get_strategy((("lazy", "select"),)) + def _setup_registry_dependencies(self): + self.parent.mapper.registry._set_depends_on( + self.entity.mapper.registry + ) + def _process_dependent_arguments(self): """Convert incoming configuration arguments to their proper form. @@ -3391,9 +3393,7 @@ class JoinCondition(object): _track_overlapping_sync_targets = weakref.WeakKeyDictionary() - @util.preload_module("sqlalchemy.orm.mapper") def _warn_for_conflicting_sync_targets(self): - mapperlib = util.preloaded.orm_mapper if not self.support_sync: return @@ -3424,7 +3424,7 @@ class JoinCondition(object): for pr, fr_ in prop_to_from.items(): if ( - pr.mapper in mapperlib._mapper_registry + not pr.mapper._dispose_called and pr not in self.prop._reverse_property and pr.key not in self.prop._overlaps and self.prop.key not in pr._overlaps |
