So, that should allow me to sort though shouldn't it? On Apr 12, 2013 4:38 PM, "Anthony" <abasta...@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.**productSiteId.belongs(**currentItems)) >> & >> (db.productSite.**availableAddon==True) & >> (db.productSite.siteId==**workorder.siteId) & >> (db.product.productId==db.** >> productSite.productId)), >> db.productSite.productSiteId, >> lambda r: r.product.productName, zero='..') >> >> ...gives me... >> >> Traceback (most recent call last): >> File "C:\dev\web2py\gluon\**restricted.py", line 212, in restricted >> >> exec ccode in environment >> File >> "C:/dev/web2py/applications/**infocenter/controllers/**applications.py" >> <http://10.10.2.34:8000/admin/default/edit/infocenter/controllers/applications.py>, >> line 4291, in <module> >> >> File "C:\dev\web2py\gluon\globals.**py", 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/**infocenter/controllers/**applications.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.**py", line 1599, in factory >> >> **attributes) >> File "C:\dev\web2py\gluon\sqlhtml.**py", line 1113, in __init__ >> >> inp = self.widgets.options.widget(fi**eld, default) >> >> File "C:\dev\web2py\gluon\sqlhtml.**py", line 252, in widget >> >> options = requires[0].options() >> File "C:\dev\web2py\gluon\**validators.py", line 546, in options >> >> self.build_set() >> File "C:\dev\web2py\gluon\**validators.py", line 543, in build_set >> >> self.labels = [self.label(r) for r in records] >> >> File >> "C:/dev/web2py/applications/**infocenter/controllers/**applications.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/** >>>> 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+unsubscr...@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.