fixed issue with row[db.table.field] for result of join, thanks Dominic
This commit is contained in:
@@ -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
@@ -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)
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user