/
aastray
/
StudentPart
Обзор
Документация
Войти
/
aastray
/
StudentPart
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
service/src/database/models/document_template.py
27 строк
2 KB
aastray
Реализован функционал загрузки файлов и просмотра документов, удалены базовые эндпоинты, обновлена документация
10 янв 2026, 15:38
10 янв 2026, 15:38
4d47c55
Код
Авторство
О чём код?
""" Модель для хранения метаданных шаблонов документов. """ from uuid import uuid4 from sqlalchemy import Column, String, DateTime, JSON from sqlalchemy.sql import func from src.database import Base class DocumentTemplate(Base): """ Модель для хранения метаданных шаблонов документов. Шаблоны физически хранятся в папке docx_templates/, в БД хранятся только метаданные для быстрого доступа. """ __tablename__ = "document_templates" id = Column(String, primary_key=True, default=lambda: uuid4().hex) template_type = Column(String, nullable=False) # "договор", "индивидуальное_задание", "лист_учета_инструктажа", "направление" practice_type = Column(String, nullable=True) # "учебная", "производственная", "преддипломная" или None для универсальных template_name = Column(String, nullable=False) # Название шаблона template_file_path = Column(String, nullable=False) # Путь к файлу в docx_templates/ student_fields = Column(JSON, nullable=False) # Список полей, заполняемых студентом (жёлтые) system_fields = Column(JSON, nullable=False) # Список полей, заполняемых системой/преподавателем (зелёные) created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False) updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False)