ew jaywalking should never be a replacement for joins...
-- Thadeus On Thu, Aug 12, 2010 at 2:42 AM, mdipierro <[email protected]> wrote: > Yes, if you use any validator IS_IN_SET or IS_IN_DB with > multiple=True > > I think it is still very convenient and can simplify some of your > code. Yet on RDBS you can do joins and this should be used a > replacement for that. > > On Aug 11, 9:51 pm, Jason Brower <[email protected]> wrote: >> Should i worry about this on my setups with sqlite but i do not use gae? >> Almost all my setups are sqlite but on apachi fcgi. >> Best regards, >> jason >> >> ----- Original message ----- >> > There was a problem with this which is now fixed. >> > This is a very important feature if you plan to develop locally >> > (sqlite) and deploy on GAE. >> >> > Massimo >> >> > On Aug 10, 4:18 am, mdipierro <[email protected]> wrote: >> > > Experimentally there is a new feature in trunk. >> >> > > Field('name','list:string') >> > > Field('name','list:integer') >> > > Field('name','list:reference other table') >> >> > > and new operators >> >> > > db.mytable.myfield.contains(4) >> >> > > which works for list:reference, list:integer, list:string, string and >> > > text types. >> >> > > The list: type are mapped differently on RDBS ([1,2,3]->'|1|2|3|') and >> > > on GAE (uses a string list propery). It is backward compatible with >> > > data stored using the IS_IN_DB(...,multiple=True). So here is an >> > > example of a program: >> >> > > # model >> > > db.define_table('product',Field('name'),format='%(name)s') >> > > db.define_table('purchase',Field('code'),Field('products','list:reference >> > > product')) >> >> > > # controller >> > > def products(): >> > > db.product.id.represent=lambda id: A('click >> > > me',_href=URL('purchases_by_product',args=id)) >> > > return >> > > dict(form=crud.create(db.product),items=db(db.product.id>0).select()) >> > > def purchases(): >> > > return >> > > dict(form=crud.create(db.purchase),items=db(db.purchase.id>0).select()) >> > > def purchases_by_product(): >> > > product_id=request.args(0) >> > > return >> > > dict(items=db(db.purchase.products.contains(product_id)).select()) >> >> > > Now register some products. When you try register purchases you should >> > > automatically get a SELECT window with product names. The list of >> > > items should also show a comma separated list of product names. >> >> > > I have not tested this on GAE. I could use some tests. Please let me >> > > know. >> >> > > Massimo >

