diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-08-17 15:24:41 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-08-17 15:24:41 -0400 |
commit | e6ab7a5ff5f1e4f87686b700ed9b58d50a6cb900 (patch) | |
tree | 3f5d7f803c66644ee8157caa0b5121acb4646700 | |
parent | fef58e7cb66b978bcce214f36217b8c90c296c2f (diff) | |
download | sqlalchemy-ticket_3499.tar.gz |
- make sure we maintain the has_mapper_entities flagticket_3499
-rw-r--r-- | lib/sqlalchemy/orm/query.py | 1 | ||||
-rw-r--r-- | test/orm/test_query.py | 36 |
2 files changed, 37 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index b932726a2..5d08cbcd5 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -115,6 +115,7 @@ class Query(object): entity_wrapper = _QueryEntity self._entities = [] self._primary_entity = None + self._has_mapper_entities = False for ent in util.to_list(entities): entity_wrapper(self, ent) diff --git a/test/orm/test_query.py b/test/orm/test_query.py index 5f290a255..3ed2e7d7a 100644 --- a/test/orm/test_query.py +++ b/test/orm/test_query.py @@ -2195,6 +2195,42 @@ class FilterTest(QueryTest, AssertsCompiledSQL): ) +class HasMapperEntitiesTest(QueryTest): + def test_entity(self): + User = self.classes.User + s = Session() + + q = s.query(User) + + assert q._has_mapper_entities + + def test_cols(self): + User = self.classes.User + s = Session() + + q = s.query(User.id) + + assert not q._has_mapper_entities + + def test_cols_set_entities(self): + User = self.classes.User + s = Session() + + q = s.query(User.id) + + q._set_entities(User) + assert q._has_mapper_entities + + def test_entity_set_entities(self): + User = self.classes.User + s = Session() + + q = s.query(User) + + q._set_entities(User.id) + assert not q._has_mapper_entities + + class SetOpsTest(QueryTest, AssertsCompiledSQL): __dialect__ = 'default' |