Обновить, если свойство уже существует при массовом импорте с помощью 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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