#Abstract category model, has references from multiple translations
db.define_table('pitch_category') #No fields except for ID
#The category translations
db.define_table('pitch_category_translation',
Field('pitch_category', db.pitch_category, requires=IS_IN_DB(db,db.pitch_category.id,lambda r: get_default_translation(r.id)), label=T('Category')),
Field('lang', 'string', requires=IS_IN_SET(settings.languages), label=T('Language')),
Field('val', 'string', label=T('The translation')),
Field('is_default', 'boolean', label=T('This is the default translation. NOTE: there should be only one per category!'))
)