我正在尝试级联删除表 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
但是产品表中的数据仍然没有被删除。为什么?