Python 尝试使用psycopg2插入时,获取列的类型为jsonb[],但表达式的类型为text[]

Python 尝试使用psycopg2插入时,获取列的类型为jsonb[],但表达式的类型为text[],python,postgresql,psycopg2,Python,Postgresql,Psycopg2,我正在使用execute\u values在其他表上插入许多表的内容,当我收到其他错误时,我已经将dict的适配器设置为json,但是我不知道如何处理这个错误: psycopg2.ProgrammingError:列“rules”的类型为jsonb[],但表达式的类型为text[] 第1行:…UES(1,'tturxvrtgvvsrqgzsedcoyqujakyepjordrbjdw',数组['{“i…” 处理这个问题的唯一方法是这样的,但我需要处理每一列 也许有办法创建一个新的适配器,但我无法

我正在使用
execute\u values
在其他表上插入许多表的内容,当我收到其他错误时,我已经将
dict
的适配器设置为
json
,但是我不知道如何处理这个错误:

psycopg2.ProgrammingError:列“rules”的类型为jsonb[],但表达式的类型为text[] 第1行:…UES(1,'tturxvrtgvvsrqgzsedcoyqujakyepjordrbjdw',数组['{“i…”

处理这个问题的唯一方法是这样的,但我需要处理每一列

也许有办法创建一个新的适配器,但我无法通过文档实现这一点

register\u适配器(dict,Json)
执行_值(
目标光标,
f''
在冲突时插入{t}值%s不执行任何操作;
''',
记录,
)
有没有一种自动处理方法,比如
寄存器适配器

我已经找到了答案,因为我知道我可以使用
模板
参数,如下所示:

执行_值(
目标光标,
f''
在冲突时插入{t}值%s不执行任何操作;
''',
记录,
template=“(%s,%s,%s::jsonb[],%s,%s)”#请求的占位符数量相同
)