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 <javascript:>> 
> 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/**
>>>> 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 <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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to