web2py 有所有新兴开源项目的通病:文档落后于代码。
例如,你在document下的DAL相关文档里,
只能读到orderby的用法,但是没有告诉你如何desc。在该文档中也找不到limit的介绍。
其实这两个功能都很重要,分页几乎是现代数据库应用中必备的功能,limit关键字就是为此而诞生的。而对于不能任意split(我查了web2py的源码才发现小于0的索引SQLROWS直接抛异常),又不能直接reverse的DAL数据集,倒排查询就是很重要的功能了。
其实这两个功能DAL都有。
oderby的支持看来开发人员还没有找到很好的形式,例如,我们可以 orderby= db.ta.id ,但是没有一个descorderby= db.ta.id ,不过其实我们可以 orderby=" ta.id desc",这样看起来有点怪,但是可用,而且不算很难理解。
limit关键字参数的支持就自然很多,类似标准SQL,DAL的limit支持两种形式:
limit=n,取数据集前n项。
limit=(n,m)从m项起取前n项,等效于PG的limit n offset m
其实这两个功能都很重要,分页几乎是现代数据库应用中必备的功能,limit关键字就是为此而诞生的。而对于不能任意split(我查了web2py的源码才发现小于0的索引SQLROWS直接抛异常),又不能直接reverse的DAL数据集,倒排查询就是很重要的功能了。
其实这两个功能DAL都有。
oderby的支持看来开发人员还没有找到很好的形式,例如,我们可以 orderby= db.ta.id ,但是没有一个descorderby= db.ta.id ,不过其实我们可以 orderby=" ta.id desc",这样看起来有点怪,但是可用,而且不算很难理解。
limit关键字参数的支持就自然很多,类似标准SQL,DAL的limit支持两种形式:
limit=n,取数据集前n项。
limit=(n,m)从m项起取前n项,等效于PG的limit n offset m

本文介绍了web2py的DAL模块中关于orderby及limit功能的具体使用方法。对于orderby,可以通过指定字段来实现排序,若要实现倒序,则可通过特殊字符串desc达到目的。limit功能则支持两种形式的数据限制,一种是简单的限制返回记录数,另一种则是实现类似SQL中的offset功能。
1613

被折叠的 条评论
为什么被折叠?



