diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-11-10 16:18:57 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-11-10 16:18:57 +0000 |
| commit | 2c5f3e8397b52b9a52b2fdd0bef7aed77762e410 (patch) | |
| tree | 65c70c7c44170f8dca80104c118fd7f2dddf62dd | |
| parent | 306bee4ecd1ddcab860f9b39866b2f57b6ec509a (diff) | |
| download | sqlalchemy-2c5f3e8397b52b9a52b2fdd0bef7aed77762e410.tar.gz | |
- Restored NotImplementedError on Cls.relation.in_()
[ticket:1140] [ticket:1221]
| -rw-r--r-- | CHANGES | 3 | ||||
| -rw-r--r-- | lib/sqlalchemy/orm/properties.py | 4 | ||||
| -rw-r--r-- | test/orm/query.py | 3 |
3 files changed, 10 insertions, 0 deletions
@@ -30,6 +30,9 @@ CHANGES error message when executed against multiple entities. [ticket:1220] + - Restored NotImplementedError on Cls.relation.in_() + [ticket:1140] [ticket:1221] + - sql - Removed the 'properties' attribute of the Connection object, Connection.info should be used. diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index 2fc72e813..dbc3430a0 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -359,6 +359,10 @@ class PropertyLoader(StrategizedProperty): def of_type(self, cls): return PropertyLoader.Comparator(self.prop, self.mapper, cls) + def in_(self, other): + raise NotImplementedError("in_() not yet supported for relations. For a " + "simple many-to-one, use in_() against the set of foreign key values.") + def __eq__(self, other): if other is None: if self.prop.direction in [ONETOMANY, MANYTOMANY]: diff --git a/test/orm/query.py b/test/orm/query.py index 3e2f327c3..72cb1d4ae 100644 --- a/test/orm/query.py +++ b/test/orm/query.py @@ -434,6 +434,9 @@ class OperatorTest(QueryTest, AssertsCompiledSQL): self._test(User.id.in_(['a', 'b']), "users.id IN (:id_1, :id_2)") + def test_in_on_relation_not_supported(self): + self.assertRaises(NotImplementedError, Address.user.in_, [User(id=5)]) + def test_between(self): self._test(User.id.between('a', 'b'), "users.id BETWEEN :id_1 AND :id_2") |
