From 22fcee0e07981bc6ae7a0f47227c4f0bb322c774 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 24 Jun 2008 19:27:32 +0000 Subject: [PATCH] - Repaired `__str__()` method on Query. [ticket:1066] --- CHANGES | 4 +++- lib/sqlalchemy/orm/query.py | 2 +- test/orm/query.py | 8 ++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index fc32ab2d0e..1327c636da 100644 --- a/CHANGES +++ b/CHANGES @@ -23,7 +23,9 @@ CHANGES - Fixed explicit, self-referential joins between two joined-table inheritance mappers when using query.join(cls, aliased=True). [ticket:1082] - + + - Repaired `__str__()` method on Query. [ticket:1066] + 0.5beta1 ======== - An ongoing document describing the changes from 0.4 to 0.5 diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 37463ef10d..a2a546caa0 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -1445,7 +1445,7 @@ class Query(object): self.logger.debug(msg) def __str__(self): - return str(self.compile()) + return str(self._compile_context().statement) class _QueryEntity(object): diff --git a/test/orm/query.py b/test/orm/query.py index 4cef98a5c2..fcefc4bd7f 100644 --- a/test/orm/query.py +++ b/test/orm/query.py @@ -169,6 +169,14 @@ class GetTest(QueryTest): assert u.addresses[0].email_address == 'jack@bean.com' assert u.orders[1].items[2].description == 'item 5' + def test_query_str(self): + s = create_session() + q = s.query(User).filter(User.id==1) + self.assertEquals( + str(q).replace('\n',''), + 'SELECT users.id AS users_id, users.name AS users_name FROM users WHERE users.id = ?' + ) + class InvalidGenerationsTest(QueryTest): def test_no_limit_offset(self): s = create_session() -- 2.47.3