Почему каскадное удаление не работает в PostgreSQL (SQLAlchemy)?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему каскадное удаление не работает в PostgreSQL (SQLAlchemy)?

Сообщение Anonymous »

Я пытаюсь каскадно удалить строки в таблице Product, но это не работает

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

seller_product = Table(
"seller_product",
Base.metadata,
Column("start_id", Integer, nullable=False),
Column("id_product", ForeignKey("product.ozon_id", ondelete="CASCADE"), nullable=False),
Column("id_seller", ForeignKey("seller.ozon_id", ondelete="CASCADE"), nullable=False),
Column("date_parse", DateTime(), nullable=False, default=datetime.utcnow)
)

class Product(Base):
__tablename__ = "product"

id: Mapped["int"] = mapped_column(primary_key=True, autoincrement=True)
ozon_id: Mapped["int"] = mapped_column(primary_key=True, unique=True)
title: Mapped["str"] = mapped_column()
link: Mapped["str"] = mapped_column()
seller_id: Mapped["int"] = mapped_column(ForeignKey("seller.ozon_id"))
seller: Mapped["Seller"] = relationship(back_populates="products")
Я пробовал удалить разные методы:

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

DELETE FROM seller_product CASCADE WHERE id_product = 4720943812
И вот так:

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

DELETE FROM seller_product CASCADE WHERE start_id = 1
Но данные из таблицы товаров по-прежнему не удаляются. Почему?

Подробнее здесь: https://stackoverflow.com/questions/787 ... sqlalchemy
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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