В существующей таблице PostgreSQL я хотел бы указать UPDATE
несколько существующих столбцов со значениями из словарного поиска (см. Ниже). Как это описано в этом nice blog post. Однако я не могу понять, как это сделать с помощью словаря Python. Здесь приходит страшная псевдокод:Массовое обновление PostgreSQL из Python dict
d = {10:'chair', 11:'table', 12:'lamp',
20:'english ivy', 21:'peace lily', 22:'spider plant'}
curs.execute("""
UPDATE my_table t
SET furniture = %(t.furniture)s,
SET plant = %(t.plant)s""",
d)
оригинальный таблица будет выглядеть примерно так:
gid | furniture | plant
-----------------------
0 | 10 | 21
1 | 11 | 20
...
После операция должна выглядеть следующим образом:
gid | furniture | plant
-----------------------------
0 | chair | peace lily
1 | table | english ivy
...
Возможно ли это, или мне придется пройти через стол?
http://stackoverflow.com/questions/7019831/bulk-batch-update-upsert-in-postgresql – Ashalynd
Вы знаете о SQLAlchemy? – Ashalynd
@Ashalynd Спасибо! Я уверен, что связанный вопрос может решить мою проблему - извините. Я играл с ORM SQLAlchemy. Но, видимо, я не знаю этого достаточно хорошо. У этого есть инструмент для этого? – n1000