/
tinypot
/
integr
Обзор
Документация
Войти
/
tinypot
/
integr
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
task_management_api/app/models/task.py
51 строка
2 KB
Tim Polus
lab1
21 янв 2026, 23:15
21 янв 2026, 23:15
dd1578c
Код
Авторство
О чём код?
""" Task model """ from datetime import datetime from sqlalchemy import Column, Integer, String, DateTime, Text, Boolean, ForeignKey, Enum from sqlalchemy.sql import func from sqlalchemy.orm import relationship import enum from app.core.database import Base class TaskStatus(str, enum.Enum): """Task status enumeration""" PENDING = "pending" IN_PROGRESS = "in_progress" COMPLETED = "completed" CANCELLED = "cancelled" class TaskPriority(str, enum.Enum): """Task priority enumeration""" LOW = "low" MEDIUM = "medium" HIGH = "high" URGENT = "urgent" class Task(Base): """Task model""" __tablename__ = "tasks" id = Column(Integer, primary_key=True, index=True) title = Column(String, nullable=False, index=True) description = Column(Text, nullable=True) status = Column(Enum(TaskStatus), default=TaskStatus.PENDING) priority = Column(Enum(TaskPriority), default=TaskPriority.MEDIUM) due_date = Column(DateTime(timezone=True), nullable=True) completed_at = Column(DateTime(timezone=True), nullable=True) user_id = Column(Integer, ForeignKey("users.id"), nullable=False) category_id = Column(Integer, ForeignKey("categories.id"), nullable=True) created_at = Column(DateTime(timezone=True), server_default=func.now()) updated_at = Column(DateTime(timezone=True), onupdate=func.now()) # Relationships user = relationship("User", back_populates="tasks") category = relationship("Category", back_populates="tasks") def __repr__(self): return f"<Task(id={self.id}, title={self.title}, status={self.status}, user_id={self.user_id})>"