db.define_table( 'rsvp_list', Field('rsvp', notnull=True, requires=IS_IN_SET('Yes', 'Maybe', 'No')), Field('event_id', 'reference db.event', notnull=True, requires=IS_IN_DB(db, db.event, '%(event_name)s [%(id)%]')), #Field("person", db.auth_user, default=auth.user if auth.user else None) #Field('person', db.auth_user, notnull=True, default=auth.user_id) )
It also cannot defaul to auth.user.
Use the second line and remove notnull
Field('event_id', 'reference db.event'
that needs to be
Field('event_id', 'reference event'
--