Need some insights into the below issue. The functionality is working 
correctly in the SQLForm.grid but doesn't work when returning data as json 
under certain circumstances as mentioned below.

When using the rows.render and passing multiple fields as argument there is 
an 
exception "web2py.app.projectmgmt - WARNING - 'NoneType' object has no 
attribute 'first_name'"

the exception is happening on the db.environment.onboarding_resource. When 
the represent for the Field is removed in the model it works as expected by 
returning the username correctly. It is not working when trying to return 
the first and last names.

def getenvironments():
    rows = list()
    try:
        rows = db(db.environment).select()
        #Below works
        print rows.render(0, fields=[db.environment.onboarding_resource])
# Below throws an exception ( 'NoneType' object has no attribute 
'first_name')
        print rows.render(0, 
fields=[db.environment.onboarding_resource,db.environment.request])
    except Exception as e:
        logger.warn(str(e))
    return response.json(rows)

Model definition
--------------------------------------------

db.define_table('environment',
                Field('request', db.request, 
requires=IS_EMPTY_OR(IS_IN_DB(db, 'request.id','%(requested_item)s 
%(alt_CI_ID)s'))),
                Field('onboarding_resource', db.auth_user,
                      represent = lambda id, row: '%s %s' 
%(db.auth_user(id).first_name,db.auth_user(id).last_name),
                      requires=IS_EMPTY_OR(IS_IN_DB(db, 
'auth_user.id','%(first_name)s %(last_name)s'))),
                Field('delivered_date', type='date'),
                Field('missed_reason', db.missed_reason,
                      
requires=IS_EMPTY_OR(IS_IN_DB(db,'missed_reason.id','%(reason_code)s'))))
  

 

-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to