diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-08-05 20:15:28 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-08-05 20:15:28 +0000 |
| commit | 4cd1902796546d5d2b2927c8e2afbcb00459341f (patch) | |
| tree | b4fd7dc33bdb6c55c2380720d5fb172c154aec0c /test | |
| parent | 3c26d5700385ac2e72e01efe2531b126f4292eee (diff) | |
| download | sqlalchemy-4cd1902796546d5d2b2927c8e2afbcb00459341f.tar.gz | |
- The RowTuple object returned by Query(*cols) now
features keynames which prefer mapped attribute
names over column keys, column keys over
column names, i.e.
Query(Class.foo, Class.bar) will have names
"foo" and "bar" even if those are not the names
of the underlying Column objects. Direct
Column objects such as Query(table.c.col) will
return the "key" attribute of the Column.
Diffstat (limited to 'test')
| -rw-r--r-- | test/orm/inheritance/query.py | 5 | ||||
| -rw-r--r-- | test/orm/inheritance/single.py | 4 | ||||
| -rw-r--r-- | test/orm/query.py | 15 |
3 files changed, 24 insertions, 0 deletions
diff --git a/test/orm/inheritance/query.py b/test/orm/inheritance/query.py index 08669bf59..0ce3b4fb7 100644 --- a/test/orm/inheritance/query.py +++ b/test/orm/inheritance/query.py @@ -538,6 +538,11 @@ def make_test(select_type): ) + row = sess.query(Engineer.name, Engineer.primary_language).filter(Engineer.name=='dilbert').first() + assert row.name == 'dilbert' + assert row.primary_language == 'java' + + self.assertEquals( sess.query(Engineer.name, Engineer.primary_language).all(), [(u'dilbert', u'java'), (u'wally', u'c++'), (u'vlad', u'cobol')] diff --git a/test/orm/inheritance/single.py b/test/orm/inheritance/single.py index 17497177e..ba2f930d0 100644 --- a/test/orm/inheritance/single.py +++ b/test/orm/inheritance/single.py @@ -53,6 +53,10 @@ class SingleInheritanceTest(MappedTest): session.expire(m1, ['manager_data']) self.assertEquals(m1.manager_data, "knows how to manage things") + row = session.query(Engineer.name, Engineer.employee_id).filter(Engineer.name=='Kurt').first() + assert row.name == 'Kurt' + assert row.employee_id == e1.employee_id + @testing.resolve_artifact_names def test_multi_qualification(self): session = create_session() diff --git a/test/orm/query.py b/test/orm/query.py index 6ee9bbd9d..30cb03ab8 100644 --- a/test/orm/query.py +++ b/test/orm/query.py @@ -58,6 +58,21 @@ class UnicodeSchemaTest(QueryTest): mapper(User, uni_users) assert User(id=7) == create_session(bind=testing.db).query(User).get(7) +class RowTupleTest(QueryTest): + keep_mappers = False + + def setup_mappers(self): + pass + + def test_custom_names(self): + mapper(User, users, properties={ + 'uname':users.c.name + }) + + row = create_session().query(User.id, User.uname).filter(User.id==7).first() + assert row.id == 7 + assert row.uname == 'jack' + class GetTest(QueryTest): def test_get(self): s = create_session() |
