fixed issue with row[db.table.field] for result of join, thanks Dominic

This commit is contained in:
mdipierro
2012-08-28 14:26:49 -05:00
parent b867fa28e6
commit 280630a0ce
3 changed files with 14 additions and 3 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.00.1 (2012-08-28 14:03:54) rc4
Version 2.00.1 (2012-08-28 14:26:44) rc4
+2 -2
View File
@@ -6321,8 +6321,8 @@ class Row(object):
return self._extra[key]
elif m:
try:
return dict.__getitem__(self, m.group(1))[m.group(2)]
except (KeyError,TypeError):
return object.__getattribute__(self, m.group(1))[m.group(2)]
except (KeyError,AttributeError,TypeError):
key = m.group(2)
return object.__getattribute__(self, key)
+11
View File
@@ -389,6 +389,17 @@ class TestJoin(unittest.TestCase):
db.t1.drop()
db.t2.drop()
db.define_table('person',Field('name'))
id = db.person.insert(name="max")
self.assertEqual(id.name,'max')
db.define_table('dog',Field('name'),Field('owner','reference person'))
db.dog.insert(name='skipper',owner=1)
row = db(db.person.id==db.dog.owner).select().first()
self.assertEqual(row[db.person.name],'max')
self.assertEqual(row['person.name'],'max')
db.dog.drop()
self.assertEqual(len(db.person._referenced_by),0)
db.person.drop()
class TestMinMaxSum(unittest.TestCase):