Python Sqlalchemy核心,insert语句返回*(所有列)

Python Sqlalchemy核心,insert语句返回*(所有列),python,sqlalchemy,Python,Sqlalchemy,我正在使用sqlalchemy core(查询生成器)使用表定义进行插入。例如: table.insert().values(a,b,c) 我可以让它返回特定的列: table.insert().values(a,b,c).returning(table.c.id, table.c.name) 但是我使用的是postgres,它有一个RETURNING*语法,返回行中的所有列。有没有办法用sqlalchemy core做到这一点 query = table.insert().values(a

我正在使用sqlalchemy core(查询生成器)使用表定义进行插入。例如:

table.insert().values(a,b,c)
我可以让它返回特定的列:

table.insert().values(a,b,c).returning(table.c.id, table.c.name)
但是我使用的是postgres,它有一个
RETURNING*
语法,返回行中的所有列。有没有办法用sqlalchemy core做到这一点

query = table.insert().values(a,b,c).returning(literal_column('*'))
你可以像这样访问它

for col in execute(query, stmt):
   print(col)

要获取所有表列,还可以执行以下查询:

table.insert().values(a,b,c).returning(table)

.returning(literal_列('*'))
有效吗?@jordanm是的。谢谢。嗨,这帮我解决了我的问题。我想在这方面再贡献一点。我们可以像
dict(res.fetchone())
那样获取数据,而不是我们想要的dict中的for。