you'll better be off with an autocomplete: just creating the markup for a thousand <option>s inside a <select> takes time: transferring it even more. http://web2py.com/books/default/chapter/29/07#Autocomplete-widget
On Tuesday, February 19, 2013 5:47:46 AM UTC+1, Paul Whipp wrote: > > Thanks, > > This did not only clear up this particular problem for me but seeing the > format in the IS_IN_DB constructor showed me why I was losing the default > table represents when adding constraints elsewhere so that is now sorted > too. > > Thanks again. > > We expect to exceed ten thousand dockets. What will happen regarding the > dropdown representation for columns referencing the dockets id as the > number grows? Will I need to introduce a custom solution for this? > > On 19 February 2013 03:37, Massimo Di Pierro > <[email protected]<javascript:> > > wrote: > >> The only problem is that for self referendes you do not get an automatic >> represent and validator (because the field is created before the table >> referenced is created): >> >> You can do it manually: >> >> db.define_table('Docket', >> Field('Docket_No', 'integer', >> required = True), >> Field('Reference_Docket_ID', 'reference Docket', >> required = False), >> Field('Reference_Docket_No', 'integer', >> required = False), >> ... >> >> db.Docket.Reference_Docket_ID.requires=IS_IN_DB(db,'Docket. >> Reference_Docket_ID','%(Docket_No)s')) >> db.Docket.Reference_Docket_ID.represent=lambda value,row: value >> >> >> On Monday, 18 February 2013 02:19:04 UTC-6, Paul Whipp wrote: >>> >>> Here is an example of what I need to do: >>> >>> db.define_table('Docket', >>> Field('Docket_No', 'integer', >>> required = True), >>> Field('Reference_Docket_ID', 'reference Docket', >>> required = False), >>> Field('Reference_Docket_No', 'integer', >>> required = False), >>> ... >>> >>> The docket optionally refers to a preceding docket in the model. It >>> appears that web2py's DAL ignores the required = False specification for >>> this field because when I use the SQLFORM it tells me that 'Reference >>> Docket_ID' is a required field so its impossible to enter any docket >>> records. >>> >>> The client database is postgresSQL >>> >>> I tried adding the field constraints (e.g. db.Docket.Docket_No.requires >>> = IS_NULL_OR(IS_IN_DB(...))) but then it fails to display the dropdown >>> when the form is presented. >>> >>> With hundreds of tables, I don't want to have to craft the form by hand. >>> >>> I'm also wondering what happens when there are many thousands of dockets >>> - will the dropdown for the Reference_Docket_ID on the form cope >>> effectively? >>> >>> Cheers, >>> Paul >>> >>> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "web2py-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

