28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from sqlalchemy import Column, String, ForeignKey
|
|
from sqlalchemy.orm import relationship
|
|
from sqlalchemy.dialects.postgresql import UUID
|
|
from app.domain.models.base import BaseModel
|
|
|
|
class Order(BaseModel):
|
|
'''주문 모델'''
|
|
__tablename__ = "orders"
|
|
|
|
# 외래키들
|
|
user_id = Column(UUID(as_uuid=True), ForeignKey('users.id'), nullable=False)
|
|
item_id = Column(UUID(as_uuid=True), ForeignKey('items.id'), nullable=True)
|
|
|
|
# 주문 정보
|
|
status = Column(String, nullable=False)
|
|
# 관계 설정
|
|
# ( orders --- N:1 --- users )
|
|
# ( orders --- N:1 --- items )
|
|
user = relationship("User", back_populates="orders")
|
|
item = relationship("Item", back_populates="orders")
|
|
|
|
# ( orders --- 1:N --- videos )
|
|
# ( orders --- 1:N --- musics )
|
|
# ( orders --- 1:N --- photos )
|
|
videos = relationship("Video", back_populates="order", cascade="all, delete-orphan")
|
|
musics = relationship("Music", back_populates="order", cascade="all, delete-orphan")
|
|
photos = relationship("Photo", back_populates="order", cascade="all, delete-orphan")
|