You'll almost certainly want separate tables each for teams, clubs and leagues. Then you probably do one of these two choices:
db.define_table('team', Field('name'), Field('members', 'list:reference
auth_user'))
OR
db.define_table('team', Field('name'))
db.define_table('team_member', Field('auth_user_id', 'reference
auth_user'), Field('team_id', 'reference team'))

