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] <javascript:>> 
> 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 <[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/**
>>>>> 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