25 lines
942 B
Python
25 lines
942 B
Python
from sqlalchemy import VARCHAR, Column, String, ForeignKey, Integer, Boolean
|
|
from sqlalchemy.orm import relationship
|
|
|
|
from app.domain.models.base import AdvancedBaseModel
|
|
|
|
|
|
class Contest(AdvancedBaseModel):
|
|
__tablename__ = 'contests'
|
|
|
|
title = Column(VARCHAR(150), unique=True, nullable=False)
|
|
description = Column(String)
|
|
web_url = Column(String, nullable=False)
|
|
photo = Column(String)
|
|
results = Column(String)
|
|
is_win = Column(Boolean)
|
|
|
|
project_id = Column(Integer, ForeignKey('projects.id'), nullable=False)
|
|
status_id = Column(Integer, ForeignKey('contest_statuses.id'), nullable=False)
|
|
|
|
project = relationship('Project', back_populates='contests')
|
|
status = relationship('ContestStatus', back_populates='contests')
|
|
|
|
carousel_photos = relationship('ContestCarouselPhoto', back_populates='contest', cascade='all')
|
|
files = relationship('ContestFile', back_populates='contest', cascade='all')
|