我正在使用Property 'cat' does not exist on type '"cat" | "dog"'.
在其他表上插入许多表的内容,当我收到其他错误时,我已经将execute_values
的适配器设置为dict
,但是我没有不知道该如何治疗:
psycopg2.ProgrammingError:列“ rules”的类型为jsonb [],但表达式的类型为text [] 第1行:... UES(1,'tturxvrtgvvsrqgzsedcoyqujakyepjordrbbjdw',ARRAY ['{“ i ...
处理该问题的唯一方法是类似this issue,但我需要处理每一列...
也许有很多方法可以创建一个新的适配器,但是我无法通过文档来实现。
json
是否有一种自动处理方式,例如register_adapter(dict, Json)
execute_values(
dest_cursor,
f'''
INSERT INTO {t} VALUES %s ON CONFLICT DO NOTHING;
''',
records,
)
?
答案 0 :(得分:0)
我找到了可以使用template
参数的this issue答案,就像这样:
execute_values(
dest_cursor,
f'''
INSERT INTO {t} VALUES %s ON CONFLICT DO NOTHING;
''',
records,
template="(%s, %s, %s::jsonb[], %s, %s)" # as many placeholders requested
)