web2py - 使用两个字段值的组合测试行

时间:2011-08-30 01:22:49

标签: python web2py

我正在构建一个web2py控制器,我需要在表中查询一个字段中值x的组合和第二个字段(在同一行中)的值y的组合。要查询单个字段,我只需编写

db.table.field == x

但我不知道如何编写查找field==x AND field2==y

的查询

2 个答案:

答案 0 :(得分:5)

(db.table.field1==x)&(db.table.field2==y)

请参阅logical operators上的书籍部分。

答案 1 :(得分:1)

对于更高级的版本,您可以将查询附加到列表并使用python的reduce函数。

queries=[]
if arg1 == "x": queries.append(db.table.field == x)
if arg2 == "y": queries.append(db.table.otherfield == y)
# many conditions here....
query = reduce(lambda a,b:(a&b),queries)
db(query).select()