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

24 lines
964 B
Python

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