Sqlalchemy Core,插入语句返回*(所有列)

时间:2017-04-21 16:06:26

标签: python sqlalchemy

我使用sqlalchemy core(查询构建器)使用表定义进行插入。例如:

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

我可以让它返回特定列:

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

但我使用的是具有RETURNING *语法的postgres,它返回行中的所有列。有没有办法用sqlalchemy核心做到这一点?

3 个答案:

答案 0 :(得分:1)

query = table.insert().values(a,b,c).returning(literal_column('*'))

您可以像访问它一样

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

答案 1 :(得分:1)

或者,您可以扩展表格列:

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

答案 2 :(得分:0)

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

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