diff --git a/models/deal.py b/models/deal.py index 17753c4..cc04241 100644 --- a/models/deal.py +++ b/models/deal.py @@ -25,7 +25,7 @@ class Deal(BaseModel): created_at = Column(DateTime, nullable=False, comment='Дата создания') current_status = Column(Integer, nullable=False, comment='Текущий статус') - client_id = Column(Integer, ForeignKey('clients.id'), nullable=False, comment='ID клиента') + client_id = Column(Integer, ForeignKey('clients.id'), nullable=False, comment='ID клиента', cascade='all, delete') client = relationship('Client', backref='deals') status_history = relationship('DealStatusHistory', back_populates='deal', cascade="all, delete-orphan") diff --git a/models/secondary.py b/models/secondary.py index a44eae5..6b23905 100644 --- a/models/secondary.py +++ b/models/secondary.py @@ -6,7 +6,11 @@ from models.base import metadata, BaseModel class DealService(BaseModel): __tablename__ = 'deal_services' - deal_id = Column(Integer, ForeignKey('deals.id'), nullable=False, comment='ID Сделки', primary_key=True) + deal_id = Column(Integer, ForeignKey('deals.id'), + nullable=False, + comment='ID Сделки', + primary_key=True, + cascade='all, delete') deal = relationship('Deal', back_populates='services') service_id = Column(Integer, ForeignKey('services.id'), nullable=False, comment='ID Услуги', primary_key=True) @@ -17,11 +21,16 @@ class DealService(BaseModel): class DealProduct(BaseModel): __tablename__ = 'deal_products' - deal_id = Column(Integer, ForeignKey('deals.id'), nullable=False, comment='ID Сделки', primary_key=True) + deal_id = Column(Integer, + ForeignKey('deals.id'), + nullable=False, + comment='ID Сделки', + primary_key=True, + cascade='all, delete' + ) deal = relationship('Deal', back_populates='products') product_id = Column(Integer, ForeignKey('products.id'), nullable=False, comment='ID Продукта', primary_key=True) product = relationship('Product') quantity = Column(Integer, nullable=False, comment='Кол-во продукта') -