我已将 SQLAlchemy 更新为 0.6,但它破坏了一切。我注意到它返回的元组不再是字典。这是一个示例查询:
query = session.query(User.id, User.username, User.email).filter(and_(User.id == id, User.username == username)).limit(1)
result = session.execute(query).fetchone()
这段代码用于在 0.5 中返回一个字典。
我的问题是如何返回字典?
原文由 Ivan 发布,翻译遵循 CC BY-SA 4.0 许可协议
这应该有效:
dict(zip(['id','username','email'],result))
(或者如果你使用的是 Python 3.x,你可以使用字典理解)。此外,您不需要在
session.query
对象上调用session.execute
。您需要使用.one()
方法来代替。这也避免了.limit(1)
调用在查询结束时挂起的需要。