25 lines
944 B
Python
25 lines
944 B
Python
import uuid
|
|
|
|
from barker.models.meta import Base
|
|
from sqlalchemy import Column, ForeignKey, Numeric, Unicode, text
|
|
from sqlalchemy.dialects.postgresql import UUID
|
|
from sqlalchemy.orm import relationship
|
|
|
|
|
|
class SaleCategory(Base):
|
|
__tablename__ = "sale_categories"
|
|
|
|
id = Column(
|
|
"id", UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()"), default=uuid.uuid4
|
|
)
|
|
name = Column("name", Unicode(255), nullable=False, unique=True)
|
|
discount_limit = Column("discount_limit", Numeric(precision=15, scale=5), nullable=False)
|
|
tax_id = Column("tax_id", UUID(as_uuid=True), ForeignKey("taxes.id"), nullable=False)
|
|
tax = relationship("Tax", foreign_keys=tax_id)
|
|
|
|
def __init__(self, name, discount_limit=None, tax_id=False, id_=None):
|
|
self.name = name
|
|
self.discount_limit = discount_limit if discount_limit is not None else 1
|
|
self.tax_id = tax_id
|
|
self.id = id_
|