Abdulkareem
Abdulkareem

Reputation: 119

(web2py) add extra fields auth_user that reference another field

I am using Web2py and I would like to add extra fields in the auth_user. some of these fields are reference to other table. for example:

auth.settings.extra_fields['auth_user']= [ Field('country', 'reference countries')]

db.define_table( 'countries', Field('name'), format = '%(name)s' )

but I receive this issue: cannot resolve reference countries in auth_user definition

can any one help me what should I do? how can I link auth_user table with another table???

All the Best

Upvotes: 0

Views: 1991

Answers (1)

user3174586
user3174586

Reputation: 11

you need to make sure your db.define_table is created before your the auth tables like this :

  db.define_table('bank',
  Field('name'),
  format = '%(name)s')

     auth.settings.extra_fields['auth_user'] = 
      [Field('bank', 'reference bank',
      label = T('Bank'),
      notnull = True,
      required = True,
      requires = IS_IN_DB(db, db.bank.id, '%(name)s') ),

]

   auth.define_tables(username = True, signature = True)

  custom_auth_table = db[auth.settings.table_user_name]

 auth.settings.table_user = custom_auth_table

Upvotes: 1

Related Questions