Обновить, если свойство уже существует при массовом импорте с помощью SQLAlchemy и PostgreSQL. ⇐ Python

Программы на Python
Anonymous
Обновить, если свойство уже существует при массовом импорте с помощью SQLAlchemy и PostgreSQL.

Сообщение Anonymous »

У меня есть таблица с первичным ключом uuid, уникальной статьей и некоторыми другими параметрами.
Моя модель:

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

class Product(Base):
__tablename__ = "products"
idf: Mapped[str] = mapped_column(primary_key=True, unique=True)
name: Mapped[str] = mapped_column(nullable=False)
article: Mapped[str] = mapped_column(nullable=False, unique=True)
category: Mapped[str] = mapped_column(default="")
description: Mapped[str] = mapped_column(default="")
Во-первых, я вставляю большой список объектов с помощью функции ниже:

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

async def import(self, db: AsyncSession, objects):
await db.run_sync(lambda session: session.bulk_save_objects(objects))
await db.commit()
return {"status": "Import has been finished"}
Когда я использую эту функцию с похожим списком (например, один словарь имеет другое имя), мне нужно проверить уникальную статью, существующую в таблице postgres, и выполняет ли она все свойства, кроме основного uuid ключевая и уникальная статья должна быть обновлена. Есть идеи, как это сделать?

Подробнее здесь: https://stackoverflow.com/questions/790 ... postgresql

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