Thanks.
On Monday, October 15, 2012 12:44:01 PM UTC-5, Massimo Di Pierro wrote: > > There is a way: > > 1) remove the dropdown while still doing validation serverside: > > db.order.product.requires = [IS_IN_DB(db,'product.id','%(name)s')] > > (By having the validator in a list, it will not create the dropdown) > > 2) add autocomplete: > > db.order.product.widget = SQLFORM.widgets.autocomplete(request, > db.field.name, db.product.id) > > > > On Monday, 15 October 2012 12:28:22 UTC-5, VP wrote: >> >> Let's say I have these 2 tables: >> >> product = db.define_table('product', Field('name')) >> order = db.define_table('order', Field('product', db.product)) >> >> Now, when you do something like this: >> >> form = SQLFORM(db.order) >> >> The product field will be a drop down list of products for you to choose. >> This is nice if you have dozen product entries or so. But if you have >> 10000 products, it's impractical to select from the drop down list, and >> further it unloads a truck-load of text (although invisible) on the page. >> This is not only impractical it is also very inefficient in both bandwidth >> and time. >> >> I think a sensible way for the developer to do is having another >> mechanism to select product. But even if, you do something like this: >> >> db.order.product.default = product_id_selected_in_some_way >> >> the form created by SQLFORM *stills* unloads 10000 entries. >> >> My suggestion is there ought to be a way to stop SQLFORM from >> automatically do this by default. Perhaps there is a way already, but I >> couldn't find it combing through the online doc. >> >> >> >> >> --