Untitled
unknown
python
a year ago
3.5 kB
7
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 ModifierOption(Base):
__tablename__ = 'modifier_options'
id = Column(Integer, primary_key=True, index=True)
modifierId = Column(Integer, ForeignKey('modifiers.id'))
nameEn = Column(String)
nameAr = Column(String)
price = Column(DECIMAL)
default = Column(Boolean)
modifier = relationship("Modifier", back_populates="options")
class Modifier(Base):
__tablename__ = 'modifiers'
id = Column(Integer, primary_key=True, index=True)
stepOptionId = Column(Integer, ForeignKey('step_options.id'))
isAddOn = Column(Boolean)
titleEn = Column(String)
titleAr = Column(String)
subtitleEn = Column(String)
subtitleAr = Column(String)
maximum = Column(Integer)
minimum = Column(Integer)
displayType = Column(String)
itemStyle = Column(Integer)
ingredient = Column(Boolean)
step_option = relationship("StepOption", back_populates="modifiers")
options = relationship("ModifierOption", back_populates="modifier")
class StepOption(Base):
__tablename__ = 'step_options'
id = Column(Integer, primary_key=True, index=True)
stepId = Column(Integer, ForeignKey('steps.id'))
nameEn = Column(String)
nameAr = Column(String)
price = Column(DECIMAL)
selected = Column(Boolean)
displayType = Column(String)
sequence = Column(Integer)
modGroupId = Column(Integer)
step = relationship("Step", back_populates="options")
modifiers = relationship("Modifier", back_populates="step_option")
class Step(Base):
__tablename__ = 'steps'
id = Column(Integer, primary_key=True, index=True)
productId = Column(Integer, ForeignKey('products.id'))
titleEn = Column(String)
titleAr = Column(String)
compId = Column(Integer) # Added compId
subtitleEn = Column(String)
subtitleAr = Column(String)
displayType = Column(String)
sequenceOrder = Column(Integer)
parseVg = Column(Boolean)
product = relationship("Product", back_populates="steps")
options = relationship("StepOption", back_populates="step")
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")
Editor is loading...
Leave a Comment