26 lines
1.0 KiB
Python
26 lines
1.0 KiB
Python
from sqlalchemy.orm import relationship
|
|
from sqlalchemy import Column, String, ForeignKey
|
|
from sqlalchemy.dialects.postgresql import UUID
|
|
from app.domain.models.base import BaseModel
|
|
from sqlalchemy.dialects.postgresql import ARRAY
|
|
|
|
class Item(BaseModel):
|
|
'''업체 모델'''
|
|
__tablename__ = "items"
|
|
|
|
# 외래키 - users 테이블의 id 참조
|
|
user_id = Column(UUID(as_uuid=True), ForeignKey('users.id'), nullable=False)
|
|
|
|
# 업체 정보
|
|
name = Column(String, nullable=False)
|
|
address = Column(String, nullable=False)
|
|
url = Column(String, nullable=False)
|
|
phone_number = Column(String, nullable=True)
|
|
thumbnail_url = Column(String, nullable=True)
|
|
hashtags = Column(ARRAY(String(30)), nullable=True)
|
|
description = Column(String, nullable=True)
|
|
# 관계 설정
|
|
# ( items --- N:1 --- users )
|
|
# ( items --- 1:N --- orders )
|
|
user = relationship("User", back_populates="items")
|
|
orders = relationship("Order", back_populates="item", cascade="all, delete-orphan") |