/
mainframe
/
Intellectuality_task_manager
Обзор
Документация
Войти
/
mainframe
/
Intellectuality_task_manager
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/app/models.py
68 строк
2 KB
Ivan
initial commit
14 апр 2026, 17:18
14 апр 2026, 17:18
d3c4609
Код
Авторство
О чём код?
# path: backend/app/models.py import enum import uuid from datetime import date, datetime from sqlalchemy import Date, DateTime, Enum, ForeignKey, String, Text, func from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import Mapped, mapped_column from app.db import Base class TaskPriority(str, enum.Enum): """ Приоритет задачи. """ low = "low" medium = "medium" high = "high" class TaskStatus(str, enum.Enum): """ Статус задачи. """ pending = "pending" in_progress = "in_progress" done = "done" class Task(Base): """ ORM-модель задачи. """ __tablename__ = "tasks" id: Mapped[uuid.UUID] = mapped_column( UUID(as_uuid=True), primary_key=True, default=uuid.uuid4, ) title: Mapped[str] = mapped_column(String(255), nullable=False) description: Mapped[str | None] = mapped_column(Text, nullable=True) priority: Mapped[TaskPriority] = mapped_column( Enum(TaskPriority, name="task_priority"), nullable=False, default=TaskPriority.medium, ) status: Mapped[TaskStatus] = mapped_column( Enum(TaskStatus, name="task_status"), nullable=False, default=TaskStatus.pending, ) due_date: Mapped[date | None] = mapped_column(Date, nullable=True) created_at: Mapped[datetime] = mapped_column( DateTime(timezone=True), nullable=False, server_default=func.now(), ) category: Mapped[str | None] = mapped_column(String(100), nullable=True) parent_task_id: Mapped[uuid.UUID | None] = mapped_column( UUID(as_uuid=True), ForeignKey("tasks.id", ondelete="CASCADE"), nullable=True, )