这是我的电话: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')}]
答案 0 :(得分:4)
row = session.query(User.username, User.first_name, User.last_name).all()
as_dict = dict(zip(row.keys(), row))
答案 1 :(得分:2)
返回的东西有一个包含元组的条目,你需要将它转换为一个列表:
In [123]:
[dict(zip(["username","first_name","lastname"], list(temp[0])))]
Out[123]:
[{'first_name': 'myFirstname',
'lastname': 'myLastname',
'username': 'myUsername'}]
在上面的代码示例中,它只有一个条目,因此在一般情况下,您需要迭代任何session.query().all()
返回并填充您的字典。