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

27 lines
986 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 Music(BaseModel):
'''음악 모델'''
__tablename__ = "musics"
# 외래키
order_id = Column(UUID(as_uuid=True), ForeignKey('orders.id'), nullable=False)
index = Column(Integer, nullable=False) # 번호
is_selected = Column(Boolean, nullable=False) # 선택 여부
title = Column(String, nullable=False) # 제목
url = Column(String, nullable=False) # 주소
duration = Column(Integer, nullable=False) # 재생 시간
lyrics = Column(String, nullable=False) # 가사
# 관계 설정
# ( musics --- N:1 --- orders )
order = relationship("Order", back_populates="musics")
# ( musics --- 1:1 --- videos )
video = relationship("Video", back_populates="music", uselist=False, cascade="all, delete-orphan")