Thank Denes you that fixed the attribute error issue.
So in my controller I'm trying to use the fieldMethod to calcluate a sortby 
parameter on the fly (not sure if proper approach).
My table is defined as:
db.define_table('Posts',
                
db.Field('date','datetime',default=request.now,writable=False),
                Field.Method('distance',lambda row, 
loc_zip=33333:abs(row.zipcode-loc_zip))
)

 my controller is:

def func():
...
order=db.Posts.distance(session.zipcode)|db.Posts.date
posts=db().select(db.Posts.ALL,limitby=limitby,orderby=order)


I am getting a "TypeError: 'FieldMethod' object is not callable" error
Also I looked inside web2py code and don't see the or operator defined for 
the FielMethod/FieldVirtuals.
If they aren't in the code yet, I wouldn't mind helping with the coding.  
I need the functionality for my project anyways.

thanks.




On Monday, December 24, 2012 8:24:02 AM UTC-5, DenesL wrote:
>
> Hi Jeff,
>
> I believe you need web2py 2.3.1 or higher for that.
>
>
>
> On Monday, December 24, 2012 1:36:25 AM UTC-5, Jeff Kusi wrote:
>>
>> I am attempting to use the virtual Methods of the dal but I am running 
>> into this issue. Here's my code
>> db.define_table('Posts',
>>                 db.Field('zipcode'),
>>                 db.Field.Method('distance',lambda row, loc_zip=33333:abs(
>> row.zipcode-loc_zip))
>>                 )
>>
>>
>> But I am running into the following error:
>> "AttributeError: type object 'Field' has no attribute 'Method'"
>> I am running  
>> web2py™(2, 2, 1, datetime.datetime(2012, 10, 21, 16, 57, 4), 'stable')
>> PythonPython 2.7.3: /home/yolo/python
>> Am I doing something wrong?  I looked into the web2py code and all I saw 
>> the FieldVirtual method definitions( not Field.Virtual as described in the 
>> book). 
>> Am I using the wrong version?  Any help would be appreciated.
>>
>> thanks.
>>
>

-- 



Reply via email to