如何在 AsyncPG 中返回多行?

jos*_*iki 4 python sql asyncpg

假设我有一个具有以下格式的表:

最喜欢的食物 最喜欢的饮料
比萨
冰淇淋 橙汁
比萨 牛奶

我如何pizza使用Python返回两行作为最喜欢的食物?

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

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

Elv*_*hus 9

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

返回的Record实例已经dict类似,但如果您确实想要常规的 Python 字典,只需随后转换结果数据即可:

rows = await connection.fetch("SELECT * FROM table WHERE favoritefood = $1", 'pizza')
data = [dict(row) for row in rows]
Run Code Online (Sandbox Code Playgroud)