I've narrowed the problem down further- the exception is caused by a 
common_filter attached to my posts table:

common_filter = lambda query: db.posts.post_date <= request.now

I'm not sure why that would trigger the orderby error, though. 

Also, is there some significance to limiting the belongs lists to 30 items?



On Thursday, August 9, 2012 4:24:13 PM UTC-4, howesc wrote:
>
> the query and the error message do not match.  your query has no orderby, 
> yet the error message suggests there is an orderby property set.  this 
> confuses me.
>
> i do:
>
> db(db.table.id.belongs([list of items not more than 30 long])).select()
>
> all the time on GAE and it works for me (latest stable web2py, and the 
> last time i checked trunk though that was a few weeks ago)
>
> note that cache does nothing on selects on GAE due to the inability to 
> serialize Rows objects to memcache (at least i think that is the limitation)
>
> cfh
>
> On Thursday, August 9, 2012 10:40:33 AM UTC-7, spiffytech wrote:
>>
>> I'm trying to use the DAL belongs clause on App Engine and am getting an 
>> error. 
>>
>> posts = db(db.posts.id.belongs(post_ids)).select(db.posts.ALL, cache=(
>> cache.ram, 60))
>>
>> Produces:
>>
>> BadArgumentError: First ordering property must be the same as inequality 
>> filter property, if specified for this query; received __key__, expected 
>> post_date
>>
>> Some Googling suggests this can be due to not providing a sort key. I 
>> tried orderby=db.posts.post_date with no success. What could be going 
>> wrong?
>>
>> I'm using the latest trunk web2py, but tested all the way back to 1.99.3.
>>
>

-- 



Reply via email to