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(field, 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/**
>>>> 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].
>> 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.