Files
FastapiAdmin/backend/app/api/v1/module_system/ticket/model.py
T
zhangtao 700d76ad5a feat(model): 添加status字段表示启用状态
- 在myapp模块的ApplicationModel中新增status字段,标识应用是否启用
- 在demo模块的DemoModel中新增status字段,标识示例条目是否启用
- 修改代码生成模块相关模型,替换BaseMixin为CreatorMixin
- 删除代码生成模块中Python模板相关文件与Vue前端代码模板,优化代码结构和清理无用模板文件
2025-09-17 01:33:53 +08:00

30 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
from typing import Optional
from sqlalchemy import String, Text, DateTime, ForeignKey
from sqlalchemy.orm import Mapped, mapped_column, relationship
from datetime import datetime
from app.core.base_model import CreatorMixin
class TicketModel(CreatorMixin):
"""
工单模型 - SQLAlchemy 2.0 语法
兼容 MySQL 和 PostgreSQL
"""
__tablename__ = 'system_ticket'
__table_args__ = ({'comment': '工单表'})
title: Mapped[str] = mapped_column(String(255), nullable=False, comment='工单标题')
status: Mapped[str] = mapped_column(String(50), default='pending', comment='工单状态(pending:待处理 progress:处理中 resolved:已解决 closed:已关闭)')
priority: Mapped[str] = mapped_column(String(50), default='medium', comment='优先级(low:低, medium:中, high:高, urgent:紧急)')
type: Mapped[Optional[str]] = mapped_column(String(50), comment='工单类型(bug:缺陷, feature:功能, task:任务)')
assignee_id: Mapped[Optional[int]] = mapped_column(ForeignKey('system_users.id'), comment='指派给用户ID')
reporter_id: Mapped[Optional[int]] = mapped_column(ForeignKey('system_users.id'), comment='报告人ID')
project: Mapped[Optional[str]] = mapped_column(String(100), comment='所属项目或模块')
version: Mapped[Optional[str]] = mapped_column(String(50), comment='版本号')
# 关系
assignee = relationship('UserModel', foreign_keys=[assignee_id])
reporter = relationship('UserModel', foreign_keys=[reporter_id])