I have a datetime field I want to represent differently using a lambda function. Instead of datetime, I want a timedelta. This was not a problem with version 1.99.x but is a problem with 2.1.1 because grid tries to do a row.year, which throws this ticket:
Traceback (most recent call last): File "N:\web2py\gluon\restricted.py", line 209, in restricted exec ccode in environment File "N:/web2py/applications/mya/controllers/myc.py" <http://127.0.0.1:8000/admin/edit/YAKiToMe/controllers/yak.py>, line 663, in <module> File "N:\web2py\gluon\globals.py", line 187, in <lambda> self._caller = lambda f: f() File "N:\web2py\gluon\tools.py", line 2838, in f return action(*a, **b) File "N:/web2py/applications/mya/controllers/myc.py" <http://127.0.0.1:8000/admin/edit/YAKiToMe/controllers/yak.py>, line 191, in list_stuff ui='web2py', File "N:\web2py\gluon\sqlhtml.py", line 2108, in grid value = field.formatter(value) File "N:\web2py\gluon\dal.py", line 8605, in formatter value = item.formatter(value) File "N:\web2py\gluon\validators.py", line 2529, in formatter return self.other.formatter(value) File "N:\web2py\gluon\validators.py", line 2220, in formatter year = value.year AttributeError: 'datetime.timedelta' object has no attribute 'year' Are we no longer supposed to use lambda functions to reformat our tables when grid is involved? --