如何在 AsyncPG 中 return 多行?

How can I return multiple rows in AsyncPG?

假设我有一个 table,格式如下:

favoritefood favoritedrink
pizza water
ice cream orange juice
pizza milk

我如何 return 两行 pizza 作为 Python 最喜欢的食物?

我已经 fetchrow 实现了其他功能,但它当然只适用于一行。

理想情况下,它们会被分类到字典中(例如:{favoritefood: pizza, favoritedrink: water

要获取多行,请使用fetch()

返回的 Record 实例已经 dict-like,但如果您真的想要常规 Python 字典,只需在之后转换结果数据即可:

rows = await connection.fetch("SELECT * FROM table WHERE favoritefood = ", 'pizza')
data = [dict(row) for row in rows]