I've certainly done that in the past as well. Have a great weekend!
-Jim On Fri, Jul 21, 2017 at 1:32 PM, 'Matthew J Watts' via web2py-users < web2py@googlegroups.com> wrote: > Ok thanks for your help Jim, i was getting confused - i introudced a bug > into my app but all working fine now i moved all the code to a fresh app > > On Fri, Jul 21, 2017 at 3:51 PM, Jim Steil <ato.st...@gmail.com> wrote: > >> I'm assuming you're talking about a primary key made up of multiple >> fields. Is that correct. >> >> I've never done that, but I don't see how it would change anything other >> than the 'left' setup. >> >> -Jim >> >> On Fri, Jul 21, 2017 at 5:54 AM, 'Matthew J Watts' via web2py-users < >> web2py@googlegroups.com> wrote: >> >>> >>> Hi, do you know if this is the same when i use primary keys of legacy >>> tables - doesn't seem to be working when i change my tables to primary key. >>> thanks >>> >>> On Wed, Jul 19, 2017 at 4:10 PM, Jim S <ato.st...@gmail.com> wrote: >>> >>>> We were all there once. Glad I was able to help. Part of the beauty >>>> of web2py is the community and the friendly help you can get on this group. >>>> >>>> -Jim >>>> >>>> On Wednesday, July 19, 2017 at 9:26:08 AM UTC-5, Matthew J Watts wrote: >>>>> >>>>> Great thanks Jim, that did it for me - it's hard being a beginner!! >>>>> >>>>> On Wed, Jul 19, 2017 at 2:09 PM, Jim S <ato....@gmail.com> wrote: >>>>> >>>>>> I'd start first with changing this: >>>>>> >>>>>> links = [lambda ids: A('Download data set',_href=URL("default","down >>>>>> load_dataset.csv",args=[ids.id]))] >>>>>> >>>>>> to this: >>>>>> >>>>>> links = [lambda ids: A('Download data set',_href=URL("default","down >>>>>> load_dataset.csv",args=[ids.MAIN.id <http://ids.id/>]))] >>>>>> >>>>>> When you add the LEFT join you then need to specify which table to >>>>>> get the field from. >>>>>> >>>>>> -Jim >>>>>> >>>>>> >>>>>> On Wednesday, July 19, 2017 at 6:44:45 AM UTC-5, Matthew J Watts >>>>>> wrote: >>>>>>> >>>>>>> Hi all >>>>>>> >>>>>>> I'm having some problems trying to achieve the following >>>>>>> >>>>>>> I have a grid with left joins which selects a subset of entries in >>>>>>> my database -(query between 3 tables) >>>>>>> >>>>>>> i then want to be able to set up links within the grid that sends >>>>>>> the id from each row (MAIN table) to a seperate function (another query >>>>>>> between many tables). >>>>>>> >>>>>>> I then want to trigger a download 'csv' file. >>>>>>> >>>>>>> So far, I have managed to get this working if I use one table in the >>>>>>> grid (no left joins), however when i set up left joins within the >>>>>>> grid,i >>>>>>> get an 'AttributeError' message. Somehow, by setting up the left >>>>>>> joins, i loose the main id that i want to send to the seperate >>>>>>> function - >>>>>>> although i have set up 'field_id=db.MAIN.id <http://db.main.id/>' >>>>>>> in the grid >>>>>>> >>>>>>> Here's the code: >>>>>>> >>>>>>> *Controller* >>>>>>> >>>>>>> def vec_dyn_query(): >>>>>>> links = [lambda ids: A('Download data >>>>>>> set',_href=URL("default","download_dataset.csv",args=[ids.id]))] >>>>>>> grid = SQLFORM.grid((db.MAIN), >>>>>>> field_id=db.MAIN.id, >>>>>>> left = [db.StudyLocation.on(db.MAIN.LocationID >>>>>>> == db.StudyLocation.id), db.TAXON.on(db.MAIN.TaxonID == db.TAXON.id >>>>>>> )], >>>>>>> links=links, >>>>>>> deletable=False, editable=False, >>>>>>> details=False, selectable=False, create=False, csv=False) >>>>>>> return locals() >>>>>>> >>>>>>> def download_dataset(): >>>>>>> main_id = request.args(0,cast=int) >>>>>>> dataset = db(db.MAIN.id == request.args[0]).select() >>>>>>> return dict(dataset=dataset) >>>>>>> >>>>>>> *Views* >>>>>>> >>>>>>> {{ >>>>>>> import cStringIO >>>>>>> stream = cStringIO.StringIO() >>>>>>> dataset.export_to_csv_file(stream) >>>>>>> response.headers['Content-Type'] = 'text/csv' >>>>>>> response.write(stream.getvalue(), escape=False) >>>>>>> }} >>>>>>> >>>>>>> Note - if i take away the 'left = >>>>>>> [db.StudyLocation.on(db.MAIN.LocationID >>>>>>> == db.StudyLocation.id), db.TAXON.on(db.MAIN.TaxonID == db.TAXON.id)],' >>>>>>> Everything works fine >>>>>>> >>>>>>> Thanks for your help in advance >>>>>>> >>>>>>> Matt >>>>>>> >>>>>> -- >>>>>> Resources: >>>>>> - http://web2py.com >>>>>> - http://web2py.com/book (Documentation) >>>>>> - http://github.com/web2py/web2py (Source code) >>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>> --- >>>>>> You received this message because you are subscribed to a topic in >>>>>> the Google Groups "web2py-users" group. >>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>>>>> pic/web2py/pH_iiWr43UI/unsubscribe. >>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>> web2py+un...@googlegroups.com. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>> Resources: >>>> - http://web2py.com >>>> - http://web2py.com/book (Documentation) >>>> - http://github.com/web2py/web2py (Source code) >>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>> --- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "web2py-users" group. >>>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>>> pic/web2py/pH_iiWr43UI/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> web2py+unsubscr...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "web2py-users" group. >>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>> pic/web2py/pH_iiWr43UI/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> web2py+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> Resources: >> - http://web2py.com >> - http://web2py.com/book (Documentation) >> - http://github.com/web2py/web2py (Source code) >> - https://code.google.com/p/web2py/issues/list (Report Issues) >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "web2py-users" group. >> To unsubscribe from this topic, visit https://groups.google.com/d/to >> pic/web2py/pH_iiWr43UI/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> web2py+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit https://groups.google.com/d/ > topic/web2py/pH_iiWr43UI/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.