SQL炼金术查询.all()到di的元组列表

2024-05-27 11:17:11 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的电话:session.query(User.username, User.first_name, User.last_name).all()

它返回:[('myUsername', 'myFirstname', 'myLastname')]

我希望格式如下:
[{"username":"myUsername", "first_name":"myFirstname", "last_name":"myLastname"}]

我用[dict(zip(["username","first_name","lastname"], x))]
但它返回:[{'username': ('myUsername', 'myFirstname', 'myLastname')}]


Tags: namesession格式usernameallzipquerydict
2条回答

返回的内容只有一个包含元组的条目,您需要将其转换为列表:

In [123]:
[dict(zip(["username","first_name","lastname"], list(temp[0])))]

Out[123]:
[{'first_name': 'myFirstname',
  'lastname': 'myLastname',
  'username': 'myUsername'}]

在上面的代码示例中,它只有一个条目,所以在一般情况下,您需要遍历session.query().all()返回的内容并填充dict

row = session.query(User.username, User.first_name, User.last_name).all()
as_dict = dict(zip(row.keys(), row))

相关问题 更多 >

    热门问题