From a208e8cc9f9d8fb578a81bda6d11beedc259ad1d Mon Sep 17 00:00:00 2001 From: Michele Comitini Date: Sun, 21 Jul 2013 16:33:21 +0200 Subject: [PATCH] changed way to detect missing key since None is already a possible value --- gluon/dal.py | 4 ++-- gluon/tests/test_dal.py | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gluon/dal.py b/gluon/dal.py index 2c68a8d2..0d50ef6b 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -6876,8 +6876,8 @@ class Row(object): key=str(k) _extra = self.__dict__.get('_extra', None) if _extra is not None: - v = _extra.get(key, None) - if v is not None: + v = _extra.get(key, r'[__+-+_key_not_found_+-+__]') + if v != r'[__+-+_key_not_found_+-+__]': return v m = REGEX_TABLE_DOT_FIELD.match(key) if m: diff --git a/gluon/tests/test_dal.py b/gluon/tests/test_dal.py index ab444958..8a83282a 100644 --- a/gluon/tests/test_dal.py +++ b/gluon/tests/test_dal.py @@ -387,6 +387,10 @@ class TestExpressions(unittest.TestCase): self.assertEqual(db.tt.insert(aa=3), 3) self.assertEqual(db(db.tt.aa == 3).update(aa=db.tt.aa + 1), 1) self.assertEqual(db(db.tt.aa == 4).count(), 1) + self.assertEqual(db(db.tt.aa == -2).count(), 0) + sum = (db.tt.aa + 1).sum() + self.assertEqual(db(db.tt.aa == 2).select(sum).first()[sum], 3) + self.assertEqual(db(db.tt.aa == -2).select(sum).first()[sum], None) db.tt.drop()