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.


Reply via email to