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 <[email protected]<javascript:>
> > 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" <[email protected] <javascript:>> 
>> 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" <[email protected]> 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" <[email protected]> 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 <[email protected]>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" <[email protected]> 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" <[email protected]> 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 
>>> [email protected] <javascript:>.
>>> 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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to