Files
piaps-course-work-university/backend/app/models/grade_book.py
2025-06-10 22:48:15 +04:00

30 lines
966 B
Python

import enum
from sqlalchemy import ForeignKey, Enum
from sqlalchemy.orm import Mapped, mapped_column, relationship
from .model import Model
class StudentStatus(enum.Enum):
STUDY = "Обучается"
ACADEM = "Академ"
EXPLUSION = "Отчислен"
GRADUATED = "Выпущен"
class GradeBook(Model):
student_id: Mapped[int] = mapped_column(ForeignKey("users.id"), nullable=False)
student: Mapped["User"] = relationship("User", lazy="joined")
specialization_id: Mapped[int] = mapped_column(ForeignKey("specializations.id"), nullable=False)
specialization: Mapped["Specialization"] = relationship(
"Specialization", lazy="joined"
)
status: Mapped[StudentStatus] = mapped_column(
Enum(StudentStatus), nullable=False, default=StudentStatus.STUDY
)
group_id: Mapped[int] = mapped_column(ForeignKey("groups.id"))
group: Mapped["Group"] = relationship(
"Group", lazy="joined"
)