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]
|
return self._extra[key]
|
||||||
elif m:
|
elif m:
|
||||||
try:
|
try:
|
||||||
return dict.__getitem__(self, m.group(1))[m.group(2)]
|
return object.__getattribute__(self, m.group(1))[m.group(2)]
|
||||||
except (KeyError,TypeError):
|
except (KeyError,AttributeError,TypeError):
|
||||||
key = m.group(2)
|
key = m.group(2)
|
||||||
return object.__getattribute__(self, key)
|
return object.__getattribute__(self, key)
|
||||||
|
|
||||||
|
|||||||
@@ -389,6 +389,17 @@ class TestJoin(unittest.TestCase):
|
|||||||
db.t1.drop()
|
db.t1.drop()
|
||||||
db.t2.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):
|
class TestMinMaxSum(unittest.TestCase):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user