I had similar issues with computed fields. I don't know if this helps or
not, but it looks like you are using member_status as a selection of hard
coded options. This is what I do:
db.member_statuses = {
1: 'Active',
2: 'Inactive',
}
db.define_table('auth_user_extended',
Field('auth_user', db.auth_user),
Field('member_status', 'int', requires=IS_IN_SET(db.member_statuses),
default=1),
...
)
Then when the field is represented, it should use the values from dictionary
('Active' or 'Inactive') automatically without having to set represent. I
hope this helps, as it's worked for me pretty well so far.