barker/barker/barker/models/product.py

26 lines
802 B
Python

import uuid
from barker.models.meta import Base
from barker.models.modifier_categories_products import modifier_categories_products
from sqlalchemy import Column, text
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship
class Product(Base):
__tablename__ = "products"
id = Column(
"id", UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()"), default=uuid.uuid4
)
versions = relationship("ProductVersion")
modifier_categories = relationship(
"ModifierCategory",
secondary=modifier_categories_products,
order_by="ModifierCategory.sort_order",
backref="products",
)
def __init__(self, id_=None, version_id=None):
self.id = id_
self.version_id = version_id