Submitted. Issue 1454. -Jim
On Monday, April 15, 2013 1:34:15 PM UTC-5, Anthony wrote: > > Maybe submit an issue with that request. > > On Monday, April 15, 2013 2:11:48 PM UTC-4, Jim S wrote: >> >> Thanks for the help on this Anthony. I ended up using the lambda >> function and the orderby to get what I needed. Would be great to see the >> left join supported here. >> >> >> On Fri, Apr 12, 2013 at 9:07 PM, Jim Steil <ato....@gmail.com> wrote: >> >>> That perfect. I'll get it going next week. Thanks for the help with this. >>> >>> Jim >>> On Apr 12, 2013 8:57 PM, "Anthony" <abas...@gmail.com> wrote: >>> >>>> No, you can't do the ._select(). However, IS_IN_DB takes orderby, >>>> groupby, and distinct arguments (though not "left", which presumably could >>>> be added) and uses them in the .select() that it does. You don't expect >>>> all >>>> this stuff to be documented, do you? We have to have something to talk >>>> about on Google Groups. ;-) >>>> >>>> Anthony >>>> >>>> On Friday, April 12, 2013 9:41:58 PM UTC-4, Jim S wrote: >>>>> >>>>> In the _select() ? >>>>> On Apr 12, 2013 8:41 PM, "Anthony" <abas...@gmail.com> wrote: >>>>> >>>>>> You can specify an orderby for the query. >>>>>> >>>>>> Anthony >>>>>> >>>>>> On Friday, April 12, 2013 8:20:38 PM UTC-4, Jim S wrote: >>>>>>> >>>>>>> So, that should allow me to sort though shouldn't it? >>>>>>> On Apr 12, 2013 4:38 PM, "Anthony" <abas...@gmail.com> wrote: >>>>>>> >>>>>>>> Well, a change was just made in trunk to allow >>>>>>>> '%(tablename.fieldname)s' notation, but it looks like the query >>>>>>>> retains >>>>>>>> only the fields in the main table (db.productSite in this case) >>>>>>>> anyway, so >>>>>>>> I guess that won't help. So instead, maybe: >>>>>>>> >>>>>>>> lambda r: db(db.product.productId == r.productId).select().first(). >>>>>>>> ****productName >>>>>>>> >>>>>>>> Anthony >>>>>>>> >>>>>>>> On Friday, April 12, 2013 1:56:34 PM UTC-4, Jim S wrote: >>>>>>>>> >>>>>>>>> requires = IS_IN_DB(db((~db.productSite.**p**** >>>>>>>>> roductSiteId.belongs(**currentIt****ems)) & >>>>>>>>> >>>>>>>>> (db.productSite.**availableAddo****n==True) >>>>>>>>> & >>>>>>>>> >>>>>>>>> (db.productSite.siteId==**worko****rder.siteId) >>>>>>>>> & >>>>>>>>> (db.product.productId==db.**pro**** >>>>>>>>> ductSite.productId)), >>>>>>>>> db.productSite.productSiteId, >>>>>>>>> lambda r: r.product.productName, zero='..') >>>>>>>>> >>>>>>>>> ...gives me... >>>>>>>>> >>>>>>>>> Traceback (most recent call last): >>>>>>>>> File "C:\dev\web2py\gluon\**restricte****d.py", line 212, in >>>>>>>>> restricted >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> exec ccode in environment >>>>>>>>> File >>>>>>>>> "C:/dev/web2py/applications/**in****focenter/controllers/**applicati****ons.py" >>>>>>>>> >>>>>>>>> <http://10.10.2.34:8000/admin/default/edit/infocenter/controllers/applications.py>, >>>>>>>>> line 4291, in <module> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> File "C:\dev\web2py\gluon\globals.**p****y", line 194, in <lambda> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> self._caller = lambda f: f() >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> File "C:\dev\web2py\gluon\tools.py"******, line 2976, in f >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> return action(*a, **b) >>>>>>>>> File >>>>>>>>> "C:/dev/web2py/applications/**in****focenter/controllers/**applicati****ons.py" >>>>>>>>> >>>>>>>>> <http://10.10.2.34:8000/admin/default/edit/infocenter/controllers/applications.py>, >>>>>>>>> line 864, in workorderBom >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _formname='addonForm') >>>>>>>>> File "C:\dev\web2py\gluon\sqlhtml.**p****y", line 1599, in factory >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> **attributes) >>>>>>>>> File "C:\dev\web2py\gluon\sqlhtml.**p****y", line 1113, in __init__ >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> inp = self.widgets.options.widget(fi******eld, default) >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> File "C:\dev\web2py\gluon\sqlhtml.**p****y", line 252, in widget >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> options = requires[0].options() >>>>>>>>> File "C:\dev\web2py\gluon\**validator****s.py", line 546, in options >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> self.build_set() >>>>>>>>> File "C:\dev\web2py\gluon\**validator****s.py", line 543, in >>>>>>>>> build_set >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> self.labels = [self.label(r) for r in records] >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> File >>>>>>>>> "C:/dev/web2py/applications/**in****focenter/controllers/**applicati****ons.py" >>>>>>>>> >>>>>>>>> <http://10.10.2.34:8000/admin/default/edit/infocenter/controllers/applications.py>, >>>>>>>>> line 853, in <lambda> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> lambda r: r.product.productName, zero='..') >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> AttributeError: 'Row' object has no attribute 'product' >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Apr 12, 2013 at 12:10 PM, Jim Steil <ato....@gmail.com>wrote: >>>>>>>>> >>>>>>>>>> Shoot, should have thought of that. >>>>>>>>>> >>>>>>>>>> Will try when I get back to the office. >>>>>>>>>> >>>>>>>>>> Jim >>>>>>>>>> On Apr 12, 2013 12:04 PM, "Anthony" <abas...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> It probably should work, but for some reason, the code converts >>>>>>>>>>> the Row to a dict before doing the string formatting, and that >>>>>>>>>>> breaks for >>>>>>>>>>> Rows involving joins. For now, you can use a lambda instead: >>>>>>>>>>> >>>>>>>>>>> lambda r: r.product.productName >>>>>>>>>>> >>>>>>>>>>> Anthony >>>>>>>>>>> >>>>>>>>>>> On Friday, April 12, 2013 12:38:09 PM UTC-4, Jim S wrote: >>>>>>>>>>>> >>>>>>>>>>>> Tried that already but got the same error. >>>>>>>>>>>> >>>>>>>>>>>> Jim >>>>>>>>>>>> On Apr 12, 2013 11:32 AM, "Anthony" <abas...@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Since you are joining tables, you might need to use the >>>>>>>>>>>>> "tablename.fieldname" format to refer to the field in question. >>>>>>>>>>>>> Does >>>>>>>>>>>>> '%(product.productName)s' work (assuming "productName" is in the >>>>>>>>>>>>> db.product >>>>>>>>>>>>> table)? >>>>>>>>>>>>> >>>>>>>>>>>>> Anthony >>>>>>>>>>>>> >>>>>>>>>>>>> On Friday, April 12, 2013 11:59:59 AM UTC-4, Jim S wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> requires = IS_IN_DB(db((~db.productSite.**p******** >>>>>>>>>>>>>> roductSiteId.belongs(**currentIt********ems)) & >>>>>>>>>>>>>> (db.productSite.**availableAddo*** >>>>>>>>>>>>>> *****n==True) & >>>>>>>>>>>>>> (db.productSite.siteId==**worko*** >>>>>>>>>>>>>> *****rder.siteId) & >>>>>>>>>>>>>> (db.product.productId==db.**pro*** >>>>>>>>>>>>>> *****ductSite.productId)), >>>>>>>>>>>>>> db.productSite.productSiteId, >>>>>>>>>>>>>> '%(productName)s', zero='..') >>>>>>>>>>>>>> >>>>>>>>>>>>>> I get a trace back with this. If I pull out the >>>>>>>>>>>>>> '%(productName)s' it works. But, I want to specify the field >>>>>>>>>>>>>> name to >>>>>>>>>>>>>> display being a field in the table linked by the 4 'anded' query. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Help? >>>>>>>>>>>>>> >>>>>>>>>>>>>> -Jim >>>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> >>>>>>>>>>>>> --- >>>>>>>>>>>>> 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/vb0268kC_mc/* >>>>>>>>>>>>> *unsubsc******ribe?hl=en<https://groups.google.com/d/topic/web2py/vb0268kC_mc/unsubscribe?hl=en> >>>>>>>>>>>>> . >>>>>>>>>>>>> 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/**grou****** >>>>>>>>>>>>> ps/opt_out <https://groups.google.com/groups/opt_out>. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>>> --- >>>>>>>>>>> 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/vb0268kC_mc/** >>>>>>>>>>> unsubsc****ribe?hl=en<https://groups.google.com/d/topic/web2py/vb0268kC_mc/unsubscribe?hl=en> >>>>>>>>>>> . >>>>>>>>>>> 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/**grou**** >>>>>>>>>>> ps/opt_out <https://groups.google.com/groups/opt_out>. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> -- >>>>>>>> >>>>>>>> --- >>>>>>>> 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/vb0268kC_mc/**unsubsc**ribe?hl=en<https://groups.google.com/d/topic/web2py/vb0268kC_mc/unsubscribe?hl=en> >>>>>>>> . >>>>>>>> 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/**grou** >>>>>>>> ps/opt_out <https://groups.google.com/groups/opt_out>. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> -- >>>>>> >>>>>> --- >>>>>> 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/vb0268kC_mc/**unsubscribe?hl=en<https://groups.google.com/d/topic/web2py/vb0268kC_mc/unsubscribe?hl=en> >>>>>> . >>>>>> 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/**groups/opt_out<https://groups.google.com/groups/opt_out> >>>>>> . >>>>>> >>>>>> >>>>>> >>>>> -- >>>> >>>> --- >>>> 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/vb0268kC_mc/unsubscribe?hl=en. >>>> 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/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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.