2013-09-25 8 views
1

我有一堆数字等级的对象,零意味着“未排序”。我希望能够通过第一号进行排序,并具有零是上次一样:用Flask/SQLAlchemy排序最后的零

1 2 3 0 0 0 

如果我做order_by(Page.rank.asc())我得到:

0 0 0 1 2 3 

如果我做order_by(Page.rank.desc())我得到:

3 2 1 0 0 0 

我期待能够做到这一点:Using MySql, can I sort a column but have 0 come last?在Flask中使用SQLAlchemy。

+1

如果您按照您指示的链接建议的做了'order_by(Page.rank = 0,Page.rank)',该怎么办? – fedorqui

+0

返回“SyntaxError:关键字不能是表达式” – tomvon

+0

也许它是'Page.rank == 0',我总是对SQLAlchemy中的比较条件感到困惑。 – fedorqui

回答

4

我们一起发现的评论,这可以使它:

order_by(Page.rank==0, Page.rank) 

(仍然感到惊讶它是在你所提供的链接中给出的伟大的解决方案)。