【发布时间】:2022-01-20 15:30:13
【问题描述】:
希望你们今天做得很好,
我有一个 python 脚本,它从stock_picking 表中提取name:
self.env.cr.execute("SELECT name FROM stock_picking WHERE sale_id = %s", [pulled_so_id])
raw_pick = self.env.cr.fetchall()
执行时,上面的查询运行良好并显示这三个名称的结果:
[('WH/OUT/00013',), ('WH/OUT/00011',), ('WH/OUT/00012',)]
我将这三个结果转换为字符串,删除了几个不需要的字符,并将其中的三个分配给一个变量。长话短说,它变成了这样:
pulled_picking_name = str(raw_pick5)
# In my terminal, a variable above now contains clean result of :
# 'WH/OUT/00013','WH/OUT/00011','WH/OUT/00012'
现在,我想将这个 pulled_picking_name 放入我的同一 python 脚本中的 UPDATE 查询中:
self.env.cr.execute("UPDATE account_move SET partner_id = %s WHERE ref IN (%s)",
[pulled_partner_id, pulled_picking_name])
然后什么都没有发生。
我用我自己声明的字符串填充了IN (%s),它运行良好。我还使用上面的UPDATE 查询直接将这三个结果测试到psql,它也很有效。
但是当我将这三个结果分配给变量并将其传递给我的查询时,什么都没有发生。没有错误信息或任何东西。
我觉得我错过了什么,但我可以弄清楚它是什么:(
拜托,每一个帮助都非常感谢!
【问题讨论】:
标签: python postgresql