barker/barker/barker/models/customer.py

34 lines
983 B
Python

import uuid
from barker.models.meta import Base
from sqlalchemy import Column, Unicode, text
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship
class Customer(Base):
__tablename__ = "customers"
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)
phone = Column("phone", Unicode(255), nullable=False, unique=True)
address = Column("address", Unicode(255), nullable=True)
discounts = relationship("CustomerDiscount", back_populates="customer")
@property
def __name__(self):
return self.name
def __init__(self, name=None, phone=None, address=None, id_=None):
self.name = name
self.phone = phone
self.address = address
self.id = id_
@classmethod
def cash(cls):
return uuid.UUID("2c716f4b-0736-429a-ad51-610d7c47cb5e")