from sqlalchemy import Table, Column, Integer, ForeignKey from sqlalchemy.orm import relationship 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 = relationship('Deal', back_populates='services') service_id = Column(Integer, ForeignKey('services.id'), nullable=False, comment='ID Услуги', primary_key=True) service = relationship('Service') quantity = Column(Integer, nullable=False, comment='Кол-во услуги') class DealProduct(BaseModel): __tablename__ = 'deal_products' deal_id = Column(Integer, ForeignKey('deals.id'), nullable=False, comment='ID Сделки', primary_key=True) 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='Кол-во продукта') class BarcodeTemplateAttributeLink(BaseModel): __tablename__ = 'barcode_template_attributes_links' barcode_template_id = Column(Integer, ForeignKey('barcode_templates.id'), nullable=False, comment='ID Шаблона ШК', primary_key=True) barcode_template = relationship('BarcodeTemplate', back_populates='attributes') attribute_id = Column(Integer, ForeignKey('barcode_template_attributes.id'), nullable=False, comment='ID Атрибута', primary_key=True) attribute = relationship('BarcodeTemplateAttribute')