Sorry, I misunderstood what you were trying to do. I thought you wanted to 
sort by date submitted and then by views, but you simply want to select the 
5 most recently submitted and then sort those 5 by views only. To do that, 
first select the 5 most recent, and then use the Rows.sort() method:

rows=db().select(db.Article.ALL, orderby=~db.Article.Submitted, limitby=(0,5
)).sort(lambda row:
    row.Views, reverse=True)

Anthony

On Wednesday, May 23, 2012 8:52:00 AM UTC-4, BlueShadow wrote:
>
>
> I had finally some time to do my minimal site which shows the problem.
> Thanks everyone for your help and support.
>
>
> On Sunday, May 13, 2012 3:25:32 PM UTC+2, Anthony wrote:
>>
>> Hmm, I tried a similar query and it properly respects both ~'s. Can you 
>> pack and attach a minimal app (using SQLite) that exhibits the problem?
>>
>> Anthony
>>
>> On Sunday, May 13, 2012 9:14:27 AM UTC-4, BlueShadow wrote:
>>>
>>>
>>> def index(): 
>>>      rows=db().select(db.article.ALL, orderby=~db.article.submitted|~db.
>>> article.views, limitby=(0,5))
>>>      return dict(Articles=rows)    
>>>     
>>> Thats my code from the default.py
>>> removing and adding the second ~ doesn't change anything.
>>> in my index.htm I simply print the Titles and views with a for loop.
>>>
>>>
>>> On Sunday, May 13, 2012 3:03:30 PM UTC+2, Anthony wrote:
>>>>
>>>> orderedby=~db.article.date|~db.article.views
>>>>
>>>> should work. Did you try exactly that code?
>>>>
>>>> Anthony
>>>>
>>>> On Sunday, May 13, 2012 4:43:24 AM UTC-4, BlueShadow wrote:
>>>>>
>>>>> Hi I got A table for articles on my page wich contains a variable for 
>>>>> the date it was submitted and the number of views (content title...)
>>>>> I tried to do a select which gives me the newest five of this table 
>>>>> (orderedby=~article.date) Now I want to sort those five by the number of 
>>>>> views.
>>>>> I tried it with appending the ordered by with |article.views and with 
>>>>> |~article.views but the result is the same I get the newest five sorted 
>>>>> by 
>>>>> views but with the least views first.
>>>>> I know I could reverse the order with some lines of python code but 
>>>>> there must be a simple way to do it.
>>>>>
>>>>

Reply via email to