from sqlalchemy import Column, String, ForeignKey, Boolean, Integer from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from app.domain.models.base import BaseModel class Photo(BaseModel): '''사진 모델''' __tablename__ = "photos" # 외래키 order_id = Column(UUID(as_uuid=True), ForeignKey('orders.id'), nullable=False) video_id = Column(UUID(as_uuid=True), ForeignKey('videos.id'), nullable=True) # 사진 정보 name = Column(String, nullable=False) # 이름 url = Column(String, nullable=False) # 주소 video_index = Column(Integer, nullable=True) # 비디오 인덱스 ( 비디오에서의 순서 ) is_selected = Column(Boolean, nullable=False) # 선택 여부 # 관계 설정 # ( photos --- N:1 --- orders ) # ( photos --- N:1 --- videos ) order = relationship("Order", back_populates="photos") video = relationship("Video", back_populates="photos")