SQLAlchemy – выполнение массовой установки (если существует, обновить, иначе вставить) в postgresqlPython

Программы на Python
Anonymous
SQLAlchemy – выполнение массовой установки (если существует, обновить, иначе вставить) в postgresql

Сообщение Anonymous »

Я пытаюсь написать массовое обновление в Python, используя модуль SQLAlchemy (не в SQL!).

Я получаю следующую ошибку при добавлении SQLAlchemy:

Код: Выделить всё

sqlalchemy.exc.IntegrityError: (IntegrityError) duplicate key value violates unique constraint "posts_pkey"
DETAIL:  Key (id)=(TEST1234) already exists.
У меня есть таблица Posts с первичным ключом в столбце id.

В этом примере в базе данных уже есть строка с id=TEST1234. Когда я пытаюсь db.session.add() создать новый объект сообщений с идентификатором, установленным на TEST1234, я получаю ошибку, указанную выше. У меня сложилось впечатление, что если первичный ключ уже существует, запись будет обновлена.

Как я могу обновить Flask-SQLAlchemy только на основе первичного ключа? Есть ли простое решение?

Если нет, я всегда могу проверить и удалить любую запись с совпадающим идентификатором, а затем вставить новую запись, но это кажется дорогостоящим в моей ситуации, когда я не ожидаю большого количества обновлений.

Подробнее: https://stackoverflow.com/questions/259 ... -in-postgr

Вернуться в «Python»