Merge pull request #144 from michele-comitini/dal_sum_expression_fix
changed way to detect missing key since None is already a possible value
This commit is contained in:
+2
-2
@@ -6876,8 +6876,8 @@ class Row(object):
|
|||||||
key=str(k)
|
key=str(k)
|
||||||
_extra = self.__dict__.get('_extra', None)
|
_extra = self.__dict__.get('_extra', None)
|
||||||
if _extra is not None:
|
if _extra is not None:
|
||||||
v = _extra.get(key, None)
|
v = _extra.get(key, r'[__+-+_key_not_found_+-+__]')
|
||||||
if v is not None:
|
if v != r'[__+-+_key_not_found_+-+__]':
|
||||||
return v
|
return v
|
||||||
m = REGEX_TABLE_DOT_FIELD.match(key)
|
m = REGEX_TABLE_DOT_FIELD.match(key)
|
||||||
if m:
|
if m:
|
||||||
|
|||||||
@@ -387,6 +387,10 @@ class TestExpressions(unittest.TestCase):
|
|||||||
self.assertEqual(db.tt.insert(aa=3), 3)
|
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 == 3).update(aa=db.tt.aa + 1), 1)
|
||||||
self.assertEqual(db(db.tt.aa == 4).count(), 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()
|
db.tt.drop()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user