I have opened issue #1996 to cover this and can confirm works correclty once I remove the computed field from the auth_user table.
Many thanks Donald On Wednesday, August 29, 2018 at 12:58:21 AM UTC+1, Anthony wrote: > > Looks like a bug here: > https://github.com/web2py/web2py/blob/63972386c23961360d99c5ce49240b0aed5c820f/gluon/tools.py#L3657-L3661 > > Presumably you have defined one or more extra_fields on db.auth_user that > are computed fields. That triggers the above code, but because the user > record has been deleted, None gets passed to self._update_session_user, > which generates an error. > > Please open a Github issue and refer back to this post. > > Anthony > > On Tuesday, August 28, 2018 at 6:13:53 PM UTC-4, Donald McClymont wrote: >> >> >> >> On Tuesday, August 28, 2018 at 12:16:59 PM UTC+1, Anthony wrote: >>> >>> Please post the traceback here. The error ticket fil >> >> Error ticket for "gdms"Ticket ID >> >> 127.0.0.1.2018-08-27.21-31-21.fbba2e6a-7e7d-4081-b191-b07d009d01c4 >> <type 'exceptions.TypeError'> 'NoneType' object is not iterableVersion >> web2py™ Version 2.17.1-stable+timestamp.2018.08.06.01.02.56 >> Python Python 2.7.15: C:\Python27\python.exe (prefix: C:\Python27) >> Traceback >> >> 1. >> 2. >> 3. >> 4. >> 5. >> 6. >> 7. >> 8. >> 9. >> 10. >> 11. >> 12. >> 13. >> 14. >> 15. >> 16. >> 17. >> 18. >> >> Traceback (most recent call last): >> File "C:\web2py\gluon\restricted.py", line 219, in restricted >> exec(ccode, environment) >> File "C:/web2py/applications/gdms/controllers/default.py" >> <http://127.0.0.1:8081/admin/default/edit/gdms/controllers/default.py>, line >> 451, in <module> >> File "C:\web2py\gluon\globals.py", line 421, in <lambda> >> self._caller = lambda f: f() >> File "C:/web2py/applications/gdms/controllers/default.py" >> <http://127.0.0.1:8081/admin/default/edit/gdms/controllers/default.py>, line >> 449, in user >> return dict(form=auth()) >> File "C:\web2py\gluon\tools.py", line 1799, in __call__ >> return getattr(self, args[0])() >> File "C:\web2py\gluon\tools.py", line 3660, in profile >> self._update_session_user(user) >> File "C:\web2py\gluon\authapi.py", line 720, in _update_session_user >> user = Row(user) >> File "C:\web2py\gluon\packages\dal\pydal\helpers\classes.py", line 34, in >> __init__ >> return self.__dict__.__init__(*args, **kwargs) >> TypeError: 'NoneType' object is not iterable >> >> Error snapshot [image: help] >> <http://127.0.0.1:8081/admin/default/ticket/gdms/127.0.0.1.2018-08-27.21-31-21.fbba2e6a-7e7d-4081-b191-b07d009d01c4#> >> >> <type 'exceptions.TypeError'>('NoneType' object is not iterable) >> >> inspect attributes >> Frames >> >> - >> >> *File C:\web2py\gluon\restricted.py in restricted at line 219* code >> arguments variables >> - >> >> *File C:\web2py\applications\gdms\controllers\default.py in <module> >> at line 451* code arguments variables >> - >> >> *File C:\web2py\gluon\globals.py in <lambda> at line 421* code >> arguments variables >> - >> >> *File C:\web2py\applications\gdms\controllers\default.py in user at >> line 449* code arguments variables >> - >> >> *File C:\web2py\gluon\tools.py in __call__ at line 1799* code >> arguments variables >> - >> >> *File C:\web2py\gluon\tools.py in profile at line 3660* code arguments >> variables >> - >> >> *File C:\web2py\gluon\authapi.py in _update_session_user at line 720* >> code arguments variables >> - >> >> *File C:\web2py\gluon\packages\dal\pydal\helpers\classes.py in >> __init__ at line 34* code arguments variables >> Function argument list >> >> (self=<Row {}>, *args=(None,), **kwargs={}) >> Code listing >> >> 29. >> 30. >> 31. >> 32. >> 33. >> 34. >> 35. >> 36. >> 37. >> 38. >> >> >> >> @implements_bool >> class BasicStorage(object): >> def __init__(self, *args, **kwargs): >> return self.__dict__.__init__(*args, **kwargs) >> >> def __getitem__(self, key): >> return self.__dict__.__getitem__(str(key)) >> >> Variables >> self.__dict__ {} >> self <Row {}> >> args (None,) >> self.__dict__.__init__ <method-wrapper '__init__' of dict object> >> kwargs {} >> >> Context >> >> locals request session response >> In file: C:\web2py\applications\gdms\controllers/default.py >> >> 1. >> >> <code object <module> at 0000000004BED830, file >> "C:\web2py\applications\gdms\controllers/default.py", line 37> >> >> e is not easily readable, as it is a pickled object. >> >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

