在 web2py 和 SQLFORM.grid 中使用两个条件进行查询

Query with two conditions in web2py and SQLFORM.grid

我正在使用 web2py SQLFORM.grid 来显示名为 db.Essen 的 table,效果很好。 现在我想使用查询来过滤条目,这同样可以正常工作,如下所示:

 Query = db.Essen.Datum == '2018-12-03'
 grid = SQLFORM.grid(Query)

但是,我 运行 在尝试在查询中组合两个条件时遇到问题,例如:

 Query = ((db.Essen.Datum == '2018-12-03') or (db.Essen.Datum == '2018-12-04'))
 grid = SQLFORM.grid(Query)

好像只执行了第一个条件,第二个条件直接忽略了。

如何在 SQLFORM.grid 中实现带有两个条件的查询?

您必须对 "or" 查询使用 |(对于 "and" 查询必须使用 &):

(db.Essen.Datum == '2018-12-03') | (db.Essen.Datum == '2018-12-04')

参见http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#Logical-operators