diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-12-29 18:50:46 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-12-29 18:50:46 +0000 |
| commit | 90d38c7407e532462059d2e98cb8d3bab31f7a36 (patch) | |
| tree | 34e1b50f20367cd2bdb8e25fdd135c8416559f19 /lib/sqlalchemy | |
| parent | dc94cb7b10927b412b813dc9493532c149816658 (diff) | |
| download | sqlalchemy-90d38c7407e532462059d2e98cb8d3bab31f7a36.tar.gz | |
- fixed Query bug when filter_by() compares a relation against None
[ticket:899]
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/properties.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index e0bf2e6e8..734b962a4 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -309,7 +309,10 @@ class PropertyLoader(StrategizedProperty): def compare(self, op, value, value_is_parent=False): if op == operators.eq: if value is None: - return ~sql.exists([1], self.prop.mapper.mapped_table, self.prop.primaryjoin) + if self.uselist: + return ~sql.exists([1], self.primaryjoin) + else: + return self._optimized_compare(None, value_is_parent=value_is_parent) else: return self._optimized_compare(value, value_is_parent=value_is_parent) else: |
