O2Sound_ver2_final/backend/app/domain/models/order.py

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")