【问题标题】:Python Flask - Easy Querying FunctionPython Flask - 简单的查询功能
【发布时间】:2011-11-21 13:10:49
【问题描述】:

有人能解释一下最后一行return (rv[0] if rv else None) if one else rv 吗?尤其是one这个角色。

def query_db(query, args=(), one=False):
    cur = g.db.execute(query, args)
    rv = [dict((cur.description[idx][0], value)
               for idx, value in enumerate(row)) for row in cur.fetchall()]
    return (rv[0] if rv else None) if one else rv

【问题讨论】:

    标签: python flask querying


    【解决方案1】:

    默认情况下,oneFalse,因此默认情况下会返回从fetchall 生成的字典列表。

    如果您将True 传递给one,则您只会获得查询的第一行(变成dict),如果查询没有返回任何行,您将获得None

    【讨论】:

      【解决方案2】:

      one 表示是否只返回一条记录。如果one 为真,则如果有记录(if rv),则返回第一个(rv[0]),否则返回所有记录。

      【讨论】:

      • 非常感谢大家。
      • 只返回 rv 怎么样?然后可以迭代返回的值。目前尚不清楚为什么使用两个条件。也许两者都不需要。
      • @Alisa:当然可以,但你得问问写代码的人。
      猜你喜欢
      • 1970-01-01
      • 2017-07-23
      • 2015-04-13
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多