web2py - 测试具有两个字段值组合的行

发布于 2024-12-02 04:13:43 字数 190 浏览 0 评论 0原文

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

db.table.field == x

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

I'm building a web2py controller in which I need to query a table for a combination of value x in one field AND value y in a second field (in the same row). To query on a single field, I would just write

db.table.field == x

But I don't know how to write a query that looks for field==x AND field2==y

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灯角 2024-12-09 04:13:43
(db.table.field1==x)&(db.table.field2==y)

请参阅本书中有关逻辑运算符的部分。

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

See the book section on logical operators.

木落 2024-12-09 04:13:43

对于更高级的版本,您可以将查询附加到列表并使用 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()

For a more advanced version, you can append a query to a list and use python's reduce function.

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()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文