Hi all

I'm new to web2py. I set up a many to many relationship like these ones:

db.define_table('users_dictionaries',

                Field('user_id', db.auth_user, requires = 
IS_IN_DB(db,'auth_user.id', db.auth_user._format)),

                Field('dictionary_id', db.dictionary, 
requires=IS_IN_DB(db,'dictionary.id',db.dictionary._format,multiple=True)),

                )

db.define_table('users_categories',

                Field('user_id', db.auth_user, requires = 
IS_IN_DB(db,'auth_user.id', db.auth_user._format)),

                Field('category_id', db.category, 
requires=IS_IN_DB(db,'category.id',db.category._format,multiple=True))

                )


in the controller i'm doing:

 perm_form=SQLFORM.factory(db.users_categories,db.users_dictionaries)
    if perm_form.process().accepted:
        form.vars.user=auth_user.id
        id = 
db.users_categories.insert(**db.user_categories._filter_fields(perm_form.vars))
        id = 
db.users_dictionaries.insert(**db.user_dictionaries._filter_fields(perm_form.vars))
        response.flash='Thanks for filling the form'


It's displayed correctly: combo for the user, multiple select for user_categories and user_dictionaries but when i try to select a user, some or one category and some or one dictionary and i press submit i get this error:

Traceback(most recent call last):
  File"/var/www/argomenti.in/web2py/gluon/restricted.py",line194,inrestricted
    execccodeinenvironment
  File"/var/www/argomenti.in/web2py/applications/webkeywords2/controllers/admin.py"  
<http://localhost:8000/admin/default/edit/webkeywords2/controllers/admin.py>,line20,in<module>
  File"/var/www/argomenti.in/web2py/gluon/globals.py",line149,in<lambda>
    self._caller=lambdaf:f()
  File"/var/www/argomenti.in/web2py/applications/webkeywords2/controllers/admin.py"  
<http://localhost:8000/admin/default/edit/webkeywords2/controllers/admin.py>,line9,inindex
    ifperm_form.process().accepted:
  File"/var/www/argomenti.in/web2py/gluon/html.py",line1950,inprocess
    self.validate(**kwargs)
  File"/var/www/argomenti.in/web2py/gluon/html.py",line1898,invalidate
    if self.accepts(**kwargs):
  File"/var/www/argomenti.in/web2py/gluon/sqlhtml.py",line1219,inaccepts
    fields[fieldname] =safe_int(value)
  File"/var/www/argomenti.in/web2py/gluon/sqlhtml.py",line48,insafe_int
    returnint(x)
TypeError:int()argument must be a stringora number,not'list'

How can i fix it? is that multiple=True of my tables that triggers the problem?

Thanks

--
Vincenzo Ampolo
http://vincenzo-ampolo.net
http://goshawknest.wordpress.com

Reply via email to