The solution to this problem was resolved by Mike Leone and wait for the approval of Massimo.
Conversation can be found here: https://groups.google.com/forum/?fromgroups=#!topic/web2py/xN0813r58N May soon be included in Web2py. 2012/12/4 Derek <[email protected]> > I did a search on this error message and everything I saw said that there > is some invalid data in the database (ie - the data doesn't match the > schema). > > > On Tuesday, December 4, 2012 6:34:00 AM UTC-7, Rakesh Singh wrote: >> >> Hi, >> >> I am having an issue querying a referenced column using the smartgrid >> search widget. >> >> Let's say I have a table defined as follows: >> >> db.define_table('countries', >> Field('country_name', 'string', unique=True, required=True), >> format='%(country_name)s') >> >> Data >> 1 Austria >> 2 Brazil >> 5 China etc. >> >> The second table is as follows: >> >> db.define_table('users', >> Field('user_name', 'string'), >> Field('country', db.countries)) >> >> db.users.country.writeable = False >> >> >> The controller is as follows: >> >> def user_list(): >> grid = SQLFORM.smartgrid(db.users, linked_tables=['db.countries'] >> **) >> return dict(grid=grid) >> >> >> Using the grid search function, click on the Search field, and select >> Country from the drop down field. >> Choose = 'China' and Add. >> This will result in an error. You would have to search for the numeric >> ID, 5 in this case. >> (Incidentally, the same will occur if you choose ID form the dropdown, >> but search for a string instead of a numeric') >> <type 'exceptions.ValueError'> invalid literal for int() with base 10: >> 'BOT' So the question is : >> - As in the example, what is the correct way to search for all users from >> China? >> - Any way to prevent an error if a user enters a string where a numeric >> is expected in the search? >> >> NB. I typed in the above code directly into the email, so there may be >> typos. >> >> Thanks a lot. >> >> Regards, >> >> Rakesh >> >> >> >> -- > > > > --

