我必须将一个 json 对象传递给一个函数,但它不起作用:
import psycopg2
cur.execute(" SELECT mrp_sp_insert_jobdef( %s )",(json(_jobdef),) )
TypeError: 'module' object is not callable
或者:
cur.execute(" SELECT mrp_sp_insert_jobdef( % )",(json.dumps(_jobdef),) )
ValueError: unsupported format character ' ' (0x20) at index 31
最佳答案
您可以使用包装器 psycopg2.extras.Json(adapted, dumps=None)
, 例子:
import psycopg2
from psycopg2.extras import Json
conn = psycopg2.connect("dbname=test user=postgres password=password")
cur = conn.cursor()
_jobdef = {'id': 1, 'name': 'product', 'amount': 230}
cur.execute("SELECT mrp_sp_insert_jobdef( %s )", (Json(_jobdef),) )
关于json - 如何在 Postgres 中调用带有 json 参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52506879/