diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-09-07 19:17:46 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-09-07 19:17:46 -0400 |
commit | 083d44c082a13761910c761debd17efac75a71b3 (patch) | |
tree | 0195dc7055069abb65aeb4a8d64da690235741e3 /lib/sqlalchemy/orm/relationships.py | |
parent | 77e6046ff01adf8d512cfde7e0284a9a3d186632 (diff) | |
download | sqlalchemy-083d44c082a13761910c761debd17efac75a71b3.tar.gz |
- remove some old cruft
- prop.compare() isn't needed; replace with prop._with_parent()
for relationships
- update docs in orm/interfaces
Diffstat (limited to 'lib/sqlalchemy/orm/relationships.py')
-rw-r--r-- | lib/sqlalchemy/orm/relationships.py | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/lib/sqlalchemy/orm/relationships.py b/lib/sqlalchemy/orm/relationships.py index 2bcb3f4a1..95ff21444 100644 --- a/lib/sqlalchemy/orm/relationships.py +++ b/lib/sqlalchemy/orm/relationships.py @@ -1307,25 +1307,10 @@ class RelationshipProperty(StrategizedProperty): mapperlib.Mapper._configure_all() return self.prop - def compare(self, op, value, - value_is_parent=False, - alias_secondary=True): - if op == operators.eq: - if value is None: - if self.uselist: - return ~sql.exists([1], self.primaryjoin) - else: - return self._optimized_compare( - None, - value_is_parent=value_is_parent, - alias_secondary=alias_secondary) - else: - return self._optimized_compare( - value, - value_is_parent=value_is_parent, - alias_secondary=alias_secondary) - else: - return op(self.comparator, value) + def _with_parent(self, instance, alias_secondary=True): + assert instance is not None + return self._optimized_compare( + instance, value_is_parent=True, alias_secondary=alias_secondary) def _optimized_compare(self, value, value_is_parent=False, adapt_source=None, @@ -1633,7 +1618,7 @@ class RelationshipProperty(StrategizedProperty): """Test that this relationship is legal, warn about inheritance conflicts.""" - if not self.is_primary() and not mapperlib.class_mapper( + if self.parent.non_primary and not mapperlib.class_mapper( self.parent.class_, configure=False).has_property(self.key): raise sa_exc.ArgumentError( @@ -1719,7 +1704,7 @@ class RelationshipProperty(StrategizedProperty): """Interpret the 'backref' instruction to create a :func:`.relationship` complementary to this one.""" - if not self.is_primary(): + if self.parent.non_primary: return if self.backref is not None and not self.back_populates: if isinstance(self.backref, util.string_types): |