我正在尝试在web2py中创建一个由2个字段分组并计算起来的SQLFORM.grid,但我无法弄明白该怎么做 .
Model
db.define_table('invocados',
Field('modulo_servico', 'string', label='Módulo (Serviço)', default=IS_LENGTH(2)),
Field('servico', 'string', default=IS_LENGTH(8)),
)
Controller
fields=(db.invocados.modulo_servico, db.invocados.servico)
Invocados=SQLFORM.grid(db.invocados.modulo_servico != db.invocados.modulo_consumidor, details=False, fields=fields, groupby=(db.invocados.modulo_servico | db.invocados.servico) , paginate=15)
我正在尝试计算按modulo_servico和servico分组的所有记录 . 我试过了:
fields=(db.invocados.modulo_servico, db.invocados.servico, db.invocados.count())
但它不起作用 .
你能帮我吗?
2 回答
您可以使用网格中的链接显示结果:
到目前为止,我一直在使用web2py,我得出结论,最好的解决方案是返回控制器中的数据并构建一个专用视图,以便您可以按Count字段对结果进行排序,如下所示:
Controller:
View:
这个解决方案有更多的努力,因为我不使用SQLFORM.grid,我必须控制分页,排序等(Web开发人员的常见任务)......
更简单的方法,但不可能通过“Count”字段对结果进行排序,是使用SQLFORM.grid的links参数,并在每行中添加子查询来计算记录 .
例: