【问题标题】:Using OR in if statement to see if either query param present在 if 语句中使用 OR 来查看是否存在任一查询参数
【发布时间】:2022-08-09 23:19:49
【问题描述】:

我希望使用单个查询参数(例如age=gt:40name=eq:bob)来实现一个简单的过滤器。我想知道是否可以立即检查 GET 请求中是否存在 nameage?一个例子可能会澄清我所追求的:

if (\'age\' or \'name\') in request.GET:

这只会在使用第一个时匹配。当我使用查询参数name 到达端点时,它与 true 不匹配。

我知道我可以做类似的事情:

if (\'age\' in request.GET) or (\'name\' in request.GET) :

但这可能会很快增长并变得丑陋。

    标签: python django rest filtering query-parameters


    【解决方案1】:

    您可以使用any(…) [Python-doc]

    if any(x in request.GET for x in ('age', 'name')):
        # …
        pass

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      相关资源
      最近更新 更多