models.py
unknown
python
a year ago
2.5 kB
8
Indexable
from sqlalchemy import Column, Integer, String, Boolean, Text, ForeignKey, JSON, Time, DECIMAL
from sqlalchemy.orm import relationship
from .database import Base
# Existing Models...
class Variant(Base):
__tablename__ = 'variants'
id = Column(Integer, primary_key=True, index=True)
productId = Column(Integer, ForeignKey('products.id'))
titleEn = Column(String)
titleAr = Column(String)
selIndex = Column(Integer)
subtitleEn = Column(String)
subtitleAr = Column(String)
product = relationship("Product", back_populates="variants")
options = relationship("VariantOption", back_populates="variant")
class VariantOption(Base):
__tablename__ = 'variant_options'
id = Column(Integer, primary_key=True, index=True)
variantId = Column(Integer, ForeignKey('variants.id'))
titleEn = Column(String)
titleAr = Column(String)
isSelected = Column(Boolean)
variant = relationship("Variant", back_populates="options")
# Update the Product model to include variants
class Product(Base):
__tablename__ = 'products'
id = Column(Integer, primary_key=True, index=True)
titleEn = Column(String)
titleAr = Column(String)
descriptionEn = Column(Text)
descriptionAr = Column(Text)
customizable = Column(Boolean)
sequenceOrder = Column(Integer)
price = Column(DECIMAL)
specialPrice = Column(DECIMAL)
strikeOutPrice = Column(DECIMAL)
discountPrecentage = Column(Integer)
selectedItemId = Column(Integer)
type = Column(String)
displayDateConfig = Column(JSON)
selectedValue = Column(Integer)
itemType = Column(String)
limited_offer = Column(Boolean)
spicyOutConfig = Column(String)
taxClassId = Column(Integer)
lucky_day = Column(String)
lucky_date_everymonth = Column(String)
last_weak_everymonth = Column(String)
lucky_type = Column(String)
status = Column(Boolean)
qrcode = Column(Text)
categories = relationship("CategoryProduct", back_populates="product")
services = relationship("Service", back_populates="product")
display_times = relationship("DisplayTimeRange", back_populates="product")
steps = relationship("Step", back_populates="product")
variants = relationship("Variant", back_populates="product") # New relationship
products = relationship("Product", backref="parent_product") # Relationship for sub-products
Editor is loading...
Leave a Comment