Я пытаюсь написать массив upsert в python, используя модуль SQLAlchemy (не в SQL!).
Я получаю следующую ошибку в SQLAlchemy add:
sqlalchemy.exc.IntegrityError: (IntegrityError) duplicate key value violates unique constraint "posts_pkey"
DETAIL: Key (id)=(TEST1234) already exists.
У меня есть таблица с именем posts
с первичным ключом в столбце id
.
В этом примере у меня уже есть строка в db с id=TEST1234
. Когда я пытаюсь db.session.add()
создать новый объект post с id
, установленным на TEST1234
, я получаю ошибку выше. У меня создалось впечатление, что если первичный ключ уже существует, запись будет обновляться.
Как я могу выполнить обновление с помощью Flask-SQLAlchemy на основе первичного ключа? Есть ли простое решение?
Если этого не происходит, я всегда могу проверить и удалить любую запись с соответствующим идентификатором, а затем вставить новую запись, но это кажется дорогим для моей ситуации, где я не ожидаю много обновлений.