Files
hackathon/app/models/hackathon.py
Artem Tsyrulnikov 477ddb8bf9 init
2026-04-06 19:27:27 +03:00

30 lines
921 B
Python

from datetime import datetime
from sqlmodel import SQLModel, Field, Relationship
class Hackathon(SQLModel, table=True):
__tablename__ = "hackathons"
id: int | None = Field(default=None, primary_key=True)
title: str = Field(max_length=200)
description: str
start_date: datetime
end_date: datetime
organizer_id: int = Field(foreign_key="users.id")
# Relationships
organizer: "User" = Relationship(back_populates="organized_hackathons")
participants: list["HackathonParticipant"] = Relationship(
back_populates="hackathon",
sa_relationship_kwargs={"cascade": "all, delete"},
)
teams: list["Team"] = Relationship(
back_populates="hackathon",
sa_relationship_kwargs={"cascade": "all, delete"},
)
tasks: list["Task"] = Relationship(
back_populates="hackathon",
sa_relationship_kwargs={"cascade": "all, delete"},
)